Problema di filtraggio campi SI/NO

di il
8 risposte

Problema di filtraggio campi SI/NO

Buonasera a tutti, forse il mio problema è stupido, ma mi sta facendo impazzire:
in una query c'è un campo SI/NO sul quale, da poco, ho bisogno di applicare un filtro, ma il filtro deve prevedere anche la scelta, diciamo, "Indifferente".
Mi spiego meglio: l'utente deve poter scegliere "Sì" inserendo 1, "No" inserendo 0 ma deve avere anche la possibilità che in quel campo il filtro lasci passare sia i Vero che i Falso.
Ho tentato in tutti i modi, ma se non inserisco 1 (o -1) o 0 il filtro blocca tutti i record.
Il problema è che non posso cambiare il campo con uno a scelta obbligata, perché è presente in più di mille record e in tantissime query e maschere, per non parlare dei report.
Mi potete aiutare per favore?

8 Risposte

  • Re: Problema di filtraggio campi SI/NO

    Non sono sicuro, ma secondo me il valore "indifferente" dovrebbe corrispondere a Null. Oppure prevedi qualcosa come
    Not True Or Not False...boh...prova. Fai un po' di prove sintattiche.
    Altrimenti...io, in casi come questo, preferisco modificare il campo in testo con possibilità "trivalore", là dove il valore "indifferente" è predefinito.
  • Re: Problema di filtraggio campi SI/NO

    Prendere tutti i valori in un filtro, equivale a non applicare il filtro...

    Come applichi il filtro alla query?
  • Re: Problema di filtraggio campi SI/NO

    Si Sgrubak, ovviamente prendere tutti i valori in un filtro, equivale a non applicare il filtro, ma devi considerare la possibilità che l'utente, in alcune situazioni, abbia bisogno di lasciare il SI/NO indifferente, altrimenti il problema a me non si sarebbe proprio posto, e non saremmo qui a discutere.
    Per esempio può darsi che il filtro sia applicato a un campo "Cliente privilegiato ?" in questo caso, se l'utente vuole tutti i clienti, privilegiati o meno, come fa?
    Oppure il campo potrebbe essere, in un magazzino "Prodotto già pagato ?" e l'utente vuole vedere tutti i prodotti, già pagati o meno.
    Oppure, come nel mio caso, la domanda è "Ha presentato la documentazione completa ?", e io ho bisogno di filtrare, e stampare, una volta l'elenco di chi l'ha presentata e una volta quelli che non l'hanno fatto, ma mi serve anche di sapere tutti quelli che hanno fatto richiesta, indipendentemente se hanno o meno presentato tutta la documentazione.
    Hai qualche suggerimento o solo commenti?
  • Re: Problema di filtraggio campi SI/NO

    I Filtri si construiscono in modo "intelligente" ovvero se non servono non si usano.
    Io in caso di Filtri MULTIPLI ho un pannello predisposto con i controlli di inserimento criteri multipli.
    Per i controlli [SI/NO] si cusa una CheckBoc con STATO TRIPLO, poi si gestisce, la CheckBox avrà valore NULL di conseguenza non si costrusice la parte di CRITERIO relativa.
  • Re: Problema di filtraggio campi SI/NO

    Ciccio_54 ha scritto:


    Per esempio può darsi che il filtro sia applicato a un campo "Cliente privilegiato ?" in questo caso, se l'utente vuole tutti i clienti, privilegiati o meno, come fa?
    Ragioniamo su questo. Ipotizzando una tabella strampalata "Clienti" i cui campi siano Nome e Privilegiato (di tipo Si/No), per avere tutti i clienti è sufficiente
    SELECT * FROM Clienti
    ossia non applichi il filtro... Nel momento in cui vuoi filtrare, aggiungi la WHERE impostandola per come ti serve. Oltre al consiglio di Alex che ritengo la soluzione più pulita, si potrebbe optare per una ComboBox con i tre valori (Si, No, Indifferente), ma in ogni caso va gestito.
    E la mia domanda era:

    Sgrubak ha scritto:


    Come applichi il filtro alla query?
    Hai qualche risposta o solo esempi ridondanti?
  • Re: Problema di filtraggio campi SI/NO

    Sgrubak ha scritto:


    Come applichi il filtro alla query?
    Con Access, è estremamente più funzionale, partire con una origine dati completa o pulita, al limite filtrata su WHERE CONDITION in apertura che valorizza la proprietà FILTER, quindi invece di modificare il predicato SQL, si opera sulla proprietà FILTER attivandola e rinfrescandola con FILTERON.
  • Re: Problema di filtraggio campi SI/NO

    Vi ringrazio tutti.
    Io in Query ho inserito, nel campo "Approvato", nel rigo "Criteri", il filtro [Approvato? (0=No - 1=Si)] e ho scoperto che se digito asterisco me li fa passare tutti.
    Grazie ancora a tutti.
    Alla prossima.
  • Re: Problema di filtraggio campi SI/NO

    Proprio il modo sbagliato tecnicamente di operare... ma "basta che funzioni"...?
    Mah
Devi accedere o registrarti per scrivere nel forum
8 risposte