Estrarre dati con una query e un criterio

di il
5 risposte

Estrarre dati con una query e un criterio

Ciao a tutti,
ho creato una maschera che contiene il campo Ricerca che può avere un valore di tipo testo oppure può essere vuoto.
Ho creato una query che deve filtrare i dati di una tabella in base al valore presente nel campo Ricerca.

Se il campo Ricerca contiene un valore allora la query estrae i dati corretti, ma se il campo Ricerca è vuoto vorrei che la query mi restituisse tutti i record della tabella. Invece non restituisce niente.

Il criterio che ho usato nella query è:
IIf([Maschere]![NomeMaschera]![Ricerca]<>"";[Maschere]![NomeMaschera]![Ricerca];Like "*" )

come posso fare? grazie a tutti,

Maurizio

5 Risposte

  • Re: Estrarre dati con una query e un criterio

    Al di là di tutte ste maschere punti esclamativi e compagnia bella....

    In soldoni: 

     (like controllo and controllo is not null) or

      (like % and controllo is null)

    Senza if...

    Vor di che un po' esse ''.

  • Re: Estrarre dati con una query e un criterio

    Grazie per la risposta. Ho provato ma non funziona. Il risultato è sempre nessun record se Controllo è vuoto

  • Re: Estrarre dati con una query e un criterio

    [Maschere]![NomeMaschera]![Ricerca] è una combobox?

    attinge da una tabella?

    Falla popolare da una query

    Select campo form tabella 

    Union 

    Select ' tutti '

    Tutti con lo spazio iniziale almeno sai quale deve essere il valore per avere tutti i record.

    poi il filtro:

     (like controllo and controllo<> ' tutti ') or

      (like % and controllo= ' tutti ')

  • Re: Estrarre dati con una query e un criterio

    27/11/2024 - Doggydog ha scritto:

    Il criterio che ho usato nella query è:
    IIf([Maschere]![NomeMaschera]![Ricerca]<>"";[Maschere]![NomeMaschera]![Ricerca];Like "*" )

    Mostraci come hai scritto la query, nel suo insieme (Select ... From ... Where ..).

  • Re: Estrarre dati con una query e un criterio

    Ok, il sole è sorto e la fotosintesi è in atto...

    mi sono accorto di un errore.

     (campo= controllo and controllo<> ' tutti ') or

      (campo like % and controllo= ' tutti ')

    altrimenti per come l'hai fatta tu:

    If(([Maschere]![NomeMaschera]![Ricerca]<>"") or ([Maschere]![NomeMaschera]![Ricerca] is not null) or ([Maschere]![NomeMaschera]![Ricerca]<>' ');[Maschere]![NomeMaschera]![Ricerca];)

    se usi una combobox, la combo punta sempre a un record anche se il testo è '' a meno che non specifichi 

    [Maschere]![NomeMaschera]![Ricerca].value

    oppure prevedi un record con valore '' o null.

Devi accedere o registrarti per scrivere nel forum
5 risposte