Maschera filtrata da combobox

di il
15 risposte

15 Risposte - Pagina 2

  • Re: Maschera filtrata da combobox

    Dai un'occhiata a questo esempio, anche se credo sia troppo complesso:

    scarica il file assegnando estensione ZIP.

    In sostanza definiti i tuoi controlli che possono generare un criterio, devi definire una sorta di ciclo che ti consenta di iterarli tutti e comporre il CRITERIO TOTALE con le concatenazioni "AND"...

    Ovviamente tutto questo è tanto più semplice quanto più tu hai le idee chiare della tecnica da usare.
    L'esempio più semplice è che avere NOMI non riconducibili a CICLI rende obbligatorio un codice sequenziale...
    Nel tuo caso pertanto non puoi per ogni modifica guardare solo il singolo CRITERIO, ma devi scrivere una funzione che tutte le volte vada a ricostruire COMPLETAMENTE la stringa passando tutti i Controlli...
    
    Dim strWhere as string
    If Len(Me!CasellaCombinata1.Value & vbNullstring)>0 then strWhere=strWhere & "GL_CLASS=" & "'" & Me!CasellaCombinata1.Value & "' AND "
    If Len(Me!CasellaCombinata2.Value & vbNullstring)>0 then strWhere=strWhere & "YEAR_BOL_DATE=" & Me!CasellaCombinata2.Value & " AND "
    If Len(Me!CasellaCombinata3.Value & vbNullstring)>0 then strWhere=strWhere & "MONTH_BOL_DATE=" & Me!CasellaCombinata3.Value & " AND "
    .....
    ' Tolgo l'AND di concatenazione finale che non serve...
    If Len(strWhere)>0 Then strWhere=Mid$(strWhere,1,Len(strWhere)-5)
    ' Ora nella stringa strWHERE hai il criterio concatenato e completo
    ' pronto per essere applicato alla Where Condition di OpenForm o alla Filter Property...
Devi accedere o registrarti per scrivere nel forum
15 risposte