Si tratta di formulare una query in base ai parametri che hai a disposizione.
Esempio:
Hai un array con indice 3. Ogni elemento dell´array rappresenta un termine di ricerca da inserire nella clausula WHERE della query.
Avrai una parte "costante della query", come ad esempio "SELECT * FROM nomeTabella WHERE ", e una parte dinamica che ti andrai a costruire con delle opportune condizioni che controllano lo stato di costruzione della query stessa.
Esempio
'sql sará la query completa, a prescindere dall'indice dell´array.codice:'Hai una funzione che splitta la stringa Function split_stringa(stringa) Dim strStringa strStringa = replace(trim(stringa),",","") split_stringa = Split(strStringa," ",-1,1) End Function 'split_stringa 'Tale funzione verrá richiamata da questo codice, creando un array Dim array_stringa array_stringa = split_stringa(cmp_ricercaCv) Dim array_min Dim array_max array_min = lBound(array_stringa) array_max = uBound(array_stringa) 'Poi ti costruisci la query dinamicamente Dim sql_dinamica Dim sql sql = "SELECT * FROM tabella " For z = array_min To array_max If z = array_min Then Select Case array_min Case array_max sql_dinamica = sql_dinamica & "WHERE ("&_ "campo_ricerca LIKE '%" & array_stringa( z ) & "%' )" Case else sql_dinamica = sql_dinamica & "WHERE ("&_ "campo_ricerca LIKE '%" & array_stringa( z ) & "%' " End Select Elseif z = array_max then sql_dinamica = sql_dinamica & " AND campo_ricerca LIKE '%" & array_stringa( z ) & "%' )" Else sql_dinamica = sql_dinamica & " AND campo_ricerca LIKE '%" & array_stringa( z ) & "%' " End If Next 'e alla fine componi il tutto sql = sql & sql_dinamica
L'esempio puoi prenderlo come spunto, anche se non credo sia funzionante. Piú di cosí non saprei spiegarti, Gio!
heydå!![]()

Rispondi quotando