Ricerca parziale

di
Anonimizzato10158
il
4 risposte

Ricerca parziale

Salve, ho un problemino con una ricerca parziale.
con questo codice riesco ad effettuare la ricerca abbastanza bene
 If  Me.RicParziale = True Then
            	WhereString = " WHERE " & WhereField & " Like '" & Me!txtcerca & "%'"
	else
	WhereString = " WHERE " & WhereField & " Like '" & Me!txtcerca & "'"
         
     End If
se il campo in cui vado a ricercare contiene il valore "Pinco Pallino Milano"
(tutto in un unico campo)

ed io ricerco la stringa "Pinco" allora nessun problema ... la prima parola la trova
ma quando vado a ricercare la stringa "Pallino" o "Milano" non trova nulla
praticamente il problema della ricerca parziale
... vorrei evitare di ricercare la stringa con gli asterischi prima e dopo, esiste un metodo ?

Grazie

4 Risposte

  • Re: Ricerca parziale

    La prima cosa che si evince dal tuo esempio è che usi ADO, cosa che con Access è decisamente CONTROPRODUCENTE.

    Access-JET si basano su un Driver ottimizzato per DAO, i controlli DataBound come Forms/Report/List/Combo sono tutti basati su oggetti Recordset DAO.
    L'utilizzo di ADO implica la Conversione IMPLICITA del Recordset, cosa inutile.

    In tutti i casi se vuoi effettuare una ricerca parziale come intendi serve il carattere JOLLY anche all'inizio, non solo alla fine.
  • Re: Ricerca parziale

    Si, l'avevo gia letta qualcosa del genere, ma so farlo solo in quel modo (che forse è anche piu complicato).
    Riguardo al jolly era proprio quella la soluzione, l'avevo completamente dimenticato, precedentemente avevo fatto varie ricerche dove il jolly serviva solo alla fine e ormai avevo memorizzato solo quello ... a volte la mente si blocca.
    Grazie per il reset.
    ciao
  • Re: Ricerca parziale

    Se vuoi inserire un codice completo con ADO ti posso dare la versione equivalente in DAO.
  • Re: Ricerca parziale

    Si grazie Alex, mi farebbe piacere. Un modo per migliorare anche per il futuro.
Devi accedere o registrarti per scrivere nel forum
4 risposte