Criterio con like

di il
3 risposte

Criterio con like

Buongiorno a tutti, è la prima volta che scrivo e vorrei prima di tutto fare i complimenti per questo forum pieno di risorse utilissime.
Vengo alla mia domanda:
se in una query volessi ricercare sul Campo1 tutte le parole che contengono “pinco” e “pallino” la where sarebbe:
WHERE (((Tabella.Campo1) Like "*pinco*")) OR (((Tabella.Campo1) Like "*pallino*"))

E' possibile fare la stessa identica ricerca senza dover ripetere il like? Tipo:
WHERE (((Tabella.Campo1) Like "*pinco*"or "*pallino*"))

Grazie

3 Risposte

  • Re: Criterio con like

    CIAO,per quel che ne so io,si può scrivere solo:
    WHERE (((Tabella.Campo1) Like "*pinco*")) OR (((Tabella.Campo1) Like "*pallino*"));
    se le parole pinco e pallino sono parole intere puoi scrivere anche:

    WHERE (((Tabella.Campo1) = "pinco")) OR (((Tabella.Campo1) = "pallino"));

    WHERE (((Tabella.Campo1) In ("pinco","pallino")));
    ma visto che hai inserito gli asterischi presumo siano parte del campo.

    se hai risposte diverse fammi sapere.
  • Re: Criterio con like

    Confermo che le parole fanno parte del campo.
    Provo a spiegare meglio il mio problema, magari a qualcuno viene un'idea...

    La query parametrica che ho costruito prende il parametro che filtra il "Campo1" da una funzione.
    In pratica la funzione restituisce la stringa contenente le parti delle parole da filtrare.
    Il problema è che queste parti di parole possono essere più di una e non posso passare il "like" nella stringa perche non verrebbe considerata dalla quesry come un'istruzione.

    Provo a spiegarmi meglio con un esempio:

    La query è fatta così:
    SELECT Tabella.Campo1
    FROM Tabella
    WHERE (((Tabella.Campo1)=Filtro1()));

    La funzione è fatta così:
    Public Function Filtro1() as string
    Filtro1= "XXXXXXXXXXX"
    End function

    Cosa devo mettere al posto di quelle XXXXXXXXX considerando che le parti delle parole dovrevvero essere Pinco o Pallino? Oppure potrebbero anche essere Pinco, Pallino o Pincopalla....
    Insomma, la funzione resituirebbe dei parametri dinamici che comunque devono essere parametrizzati con il "like".
    Ho provato varie soluzioni ma nessuna è stata valida.
  • Re: Criterio con like

    Non sono riuscito a trovare una sol.al tuo quesito!aggirando l'ostacolo potresti inserire nel campo criteri della query:Like[].all'apertura della stessa dti verrà chiesto:immettere valore parametro.
    a questo punto puoi inserire( esempio):*pin* ed estrarrà tutte le parole che contengono pin(pincopallino,pincopalla ...ecc..)questa è una soluzione con qualche passaggio manuale ma pur sempre una soluzione.comunque se trovi un soluzione migliore fammi sapere.
Devi accedere o registrarti per scrivere nel forum
3 risposte