atarmi ha scritto:
Temevo questa risposta
Fosse per me userei questo metodo senza nessun problema. Il fatto è che non dovrò utilizzarlo io e chi dovrà usarlo può non avere questa dimestichezza. Per questo cercavo una soluzione più immediata nell'uso (meno nella programmazione...).
Come diverse volte si è provato a spiegare gli strumenti che l'interfaccia mette a disposizione si dividono in 2 parti... e lo sviluppatore ne deve tener conto.
Per lo sviluppatore e per l'Utente.
Alcuni strumenti sono a disposizione dello sviluppatore, ma non dell'eventuale utente utilizzatore e questo per 2 motivi:
1° Non sono CONTROLLABILI (per chi sviluppa e questo è come l'acqua santa per il diavolo)
2° Non vengono distribuiti con il RUNTIME ( e questo va da se che ...)
Conseguenza è che uno sviluppatore, quindi colui che poi fa usare il proprio applicativo ad altri, deve EVITARE queste cose.
Prova, se ti va, ad usare questo mio ADDIN
http://forum.masterdrive.it/access-79/maschera-filtri-86836/
In sostanza è una Maschera GENERALIZZATA che si apre Popup sopra una maschera generica(qualsiasi)... e consente di attuare Filtri.
E' abbastanza semplice, la importi ed importi la funzione OpenFILTER che trovi nel modulo basEXPORT, se non ricordo male,... che si usa come la nativa.
Per aprirla basta che chiami dalla Form su cui vuoi applicare i FILTRI, tramite Button la funzione:
Call OpenFILTER
Dovrebbe fare tutto lei...
Un'altro esempio può essere questo:
Di fatto la costruzione di un sistema di FILTRI è semplice... sia con AND che OR, ma il rischio è che sia rigido...
Costruire una stringa di CRITERIO è banale si può valutare una cosa simile
Dim strWH As String
If Len(Me!Controllo1.Value & vbNullstring)>0 Then strWH=strWH & "Campo1=" & Me!Controllo1.Value& " AND "
If Len(Me!Controllo2.Value & vbNullstring)>0 Then strWH=strWH & "Campo2=" & Me!Controllo2.Value & " AND "
.... ' aggiungi le altre 1000 condizioni...
If Len(strWH)>0 then strWH=Mid$(strWH,1,Len(strWH)-5)
Me.Filter=strWH
Me.FilterON=True
Chiaramente se conosci il Tipo di Campo sai anche come FORMATTARE la stringa del Valore del criterio... sia una Data(#...#) o un Testo(Apicetti) ecc...
PEr il fatto di mettere in AND o OR, per farti capire è come quello sopra...
Il 2° link che ti ho proposto è meno evoluto, ma forse più scolastico...