Filtro con criterio Like

Anonimo
2014-06-12T09:14:18+00:00

Buongiorno a tutti,

pongo subito il problema che mi attanaglia...

Ho una maschera con tre caselle di testo (collegate ad una tabella INTERROGAZIONE) che devono fungere da filtro (che si attiva tramite tasto posto sempre sulla maschera) per una query il cui risultato viene mostrato in una sottomaschera... I primi due campi hanno due date che rappresentano un'intervallo di tempo entro il quale vengono mostrate solo le pratiche ricomprese nell'arco temporale... e fin qui tutto bene...

il terzo campo dovrebbe effettuare un'ulteriore  selezione delle pratiche che contengono un determinato testo nel campo "Attivita"... e qui sorgono i problemi nel senso che ho usato il comando LIKE (provandolo in tutte le forme) ma il filtro una volta eseguito non mi rilascia alcun risultato:

Il mio codice sql della Query è il seguente:

SELECT Deleghe_PP_conferite.Protocollo_delega, Deleghe_PP_conferite.Data_delega, Deleghe_PP_conferite.Attività_da_eseguire

FROM Interrogazione, Deleghe_PP_conferite

WHERE (((Deleghe_PP_conferite.Data_delega)>=IIf([Forms].[Mas_Prova_Interrogazione].[DataInizio] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataInizio]) And (Deleghe_PP_conferite.Data_delega)<=IIf([Forms].[Mas_Prova_Interrogazione].[DataFine] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataFine]))

AND ((Deleghe_PP_conferite.Attività_da_eseguire)=IIf([Forms].[Mas_Prova_Interrogazione].[Attivita] Is Null,[Deleghe_PP_conferite].[Attività_da_eseguire],([Deleghe_PP_conferite].[Attività_da_eseguire]) Like "*" & [Forms].[Mas_Prova_Interrogazione].[Attivita] & "*")));

Se seleziono solo le date tutto ok... se vado a mettere un valore nella terza casella e attivo il filtro non mi evidenzia alcun risultato...

Dove sbaglio?

Grazie a tutti

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-06-12T12:07:48+00:00

Ciao ,

probabilmente hai messo solo l'ultima riga da me riportata che intendeva sostituire appunto solo l'ultima riga.

la WHERE completa è così:

WHERE Deleghe_PP_conferite.Data_delega)>=IIf([Forms].[Mas_Prova_Interrogazione].[DataInizio] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataInizio]) And

      Deleghe_PP_conferite.Data_delega)<=IIf([Forms].[Mas_Prova_Interrogazione].[DataFine] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataFine]) AND

    "" &   Deleghe_PP_conferite.Attività_da_eseguire) LIKE "*" & IIf([Forms].[Mas_Prova_Interrogazione].[Attivita] Is Null,[Deleghe_PP_conferite].[Attività_da_eseguire],[Forms].[Mas_Prova_Interrogazione].[Attivita])& "*"

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-06-12T11:36:11+00:00

    Ciao Francesco_72 ,

    ok, fai così: (riporto solo l'ultima riga)

    AND

    "" &  Deleghe_PP_conferite.Attività_da_eseguire) LIKE "*" & IIf([Forms].[Mas_Prova_Interrogazione].[Attivita] Is Null,[Deleghe_PP_conferite].[Attività_da_eseguire],[Forms].[Mas_Prova_Interrogazione].[Attivita]) & "*"

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-06-12T10:52:19+00:00

    Ciao,

    sbagli ad inserire l'operatore Like come ParteFalsa della funzione Iif

    Cambia la Where così:

    WHERE Deleghe_PP_conferite.Data_delega)>=IIf([Forms].[Mas_Prova_Interrogazione].[DataInizio] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataInizio]) And

          Deleghe_PP_conferite.Data_delega)<=IIf([Forms].[Mas_Prova_Interrogazione].[DataFine] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataFine]) AND

          Deleghe_PP_conferite.Attività_da_eseguire) LIKE "*" & IIf([Forms].[Mas_Prova_Interrogazione].[Attivita] Is Null,[Deleghe_PP_conferite].[Attività_da_eseguire],[Forms].[Mas_Prova_Interrogazione].[Attivita]) & "*"

    Ciao

    Giorgio Rancati

    Scusami Giorgio Rancati ma devo rettificare... il sistema funziona fino ad un certo punto nel senso che pur non inserendo alcun valore nel terzo campo di ricerca mi fa vedere solo i record che cmq abbiano almeno un carattere nel campo attività_da_eseguire mentre a me interessa che (nel caso la casella di ricerca sia vuota) cmq vengano evidenziati anche quelli in cui il campo sia vuoto...

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-06-12T10:46:14+00:00

    Ciao,

    sbagli ad inserire l'operatore Like come ParteFalsa della funzione Iif

    Cambia la Where così:

    WHERE Deleghe_PP_conferite.Data_delega)>=IIf([Forms].[Mas_Prova_Interrogazione].[DataInizio] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataInizio]) And

          Deleghe_PP_conferite.Data_delega)<=IIf([Forms].[Mas_Prova_Interrogazione].[DataFine] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataFine]) AND

          Deleghe_PP_conferite.Attività_da_eseguire) LIKE "*" & IIf([Forms].[Mas_Prova_Interrogazione].[Attivita] Is Null,[Deleghe_PP_conferite].[Attività_da_eseguire],[Forms].[Mas_Prova_Interrogazione].[Attivita]) & "*"

    Ciao

    Giorgio Rancati

    Grazie Giorgio Rancati,

    come sempre hai perfettamente ragione... risolto il problema. Penso che se volessi inserire un ulteriore campo di ricerca dovrò usare la stessa sintassi.

    Molte grazie e buona giornata

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-06-12T10:09:16+00:00

    Ciao,

    sbagli ad inserire l'operatore Like come ParteFalsa della funzione Iif

    Cambia la Where così:

    WHERE Deleghe_PP_conferite.Data_delega>=IIf([Forms].[Mas_Prova_Interrogazione].[DataInizio] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataInizio]) And

           Deleghe_PP_conferite.Data_delega<=IIf([Forms].[Mas_Prova_Interrogazione].[DataFine] Is Null,[Deleghe_PP_conferite].[Data_delega],[Forms].[Mas_Prova_Interrogazione].[DataFine]) AND

           Deleghe_PP_conferite.Attività_da_eseguire LIKE "*" & IIf([Forms].[Mas_Prova_Interrogazione].[Attivita] Is Null,[Deleghe_PP_conferite].[Attività_da_eseguire],[Forms].[Mas_Prova_Interrogazione].[Attivita]) & "*"

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento