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
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
'sql sará la query completa, a prescindere dall'indice dell´array.
L'esempio puoi prenderlo come spunto, anche se non credo sia funzionante. Piú di cosí non saprei spiegarti, Gio!
heydå!