Filtro cella Vuota

di il
11 risposte

Filtro cella Vuota

Buonasera, 

da poco mi sto dilettando con access e sto provando a fare un piccolo database.

Ho creato una tabella Tab “Eccedenze” in cui è presente una colonna “SpedDiRipartenza”  e successivamente ho creato una maschera continua che attinge i date dalla tab eccedenze. 

Adesso avrei bisogno che all'apertura della maschera continua la la macro effettui in automatico un filtro sulla colonna “SpedDiRipartenza” facendomi visualizzare solo i record in cui il campo “SpedDiRipartenza” sia vuoto.

Successivamente dovrei creare 2 Button (su click), 1 che filtri per “SpedDiRipartenza" non vuoto e un'altro che filtri per “SpedDiRipartenza” vuoto.

Grazie a chi saprà aiutarmi

11 Risposte

  • Re: Filtro cella Vuota

    Ciao ,

    fai un database con excel ?

  • Re: Filtro cella Vuota

    No.

    Con Access

  • Re: Filtro cella Vuota

    In effetti Excel (una sola elle) non è la scelta corretta.

    Usa Access, se devi imparare, scegli lo strumento corretto 

  • Re: Filtro cella Vuota

    25/05/2023 - Satoshj ha scritto:


    No.

    Con Access

    Se vuoi consigli vari… fai una cosa, iniziamo con la Tabella 

    • qual'è il suo scopo?
    • come l'hai strutturata?

    Ci ben inizia è già a metà dell'opera…

    Se vuoi fai un screenshot della struttura Tabella e vediamo di cosa si parla e se sei partito con il piede giusto.

  • Re: Filtro cella Vuota

  • Re: Filtro cella Vuota

    Quanti campi sono ? … una miriade. ;))

    Hai studiato le Chiavi e le Relazioni ?

    Comunque, prenderei questa tabella e inizierei a capire quante e quali tabelle della tabella dovranno essere create.

    Per esempio in questo scorcio già mi porrei la domanda se:

    Imballo , Operatore…. sono testi descrittivi di una unità di misura o simile e di un soggetto Operatore. 

    Già questi due sono da valutare se è opportuno che abbiano la loro tabella alla quale relazionarsi.

    Quindi per meditare su questo aspetto, le varie tabelle per la tabella Eccedenze, considera che i campi descrittivi non devono mai essere ridondanti in una tabella… qualora lo siano è necessario sistemare certe informazioni in un altra tabella:
    Per esempio…

    Tabella Operatori

    Tabella Imballi

    Ma tutto il resto di questa tabella Eccedenze è una incognita, solo perchè non si vedono gli altri campi,  sarebbe il caso di analizzarla a dovere e creare un vero Database 

    Non è complicato, è molto semplice.
    Fai sapere cosa ne pensi. 

  • Re: Filtro cella Vuota

    25/05/2023 - Satoshj ha scritto:


    Ho creato una tabella Tab “Eccedenze” in cui è presente una colonna “SpedDiRipartenza”  e successivamente ho creato una maschera continua che attinge i date dalla tab eccedenze. 

    Adesso avrei bisogno che all'apertura della maschera continua la la macro effettui in automatico un filtro sulla colonna “SpedDiRipartenza” facendomi visualizzare solo i record in cui il campo “SpedDiRipartenza” sia vuoto.

    Successivamente dovrei creare 2 Button (su click), 1 che filtri per “SpedDiRipartenza" non vuoto e un'altro che filtri per “SpedDiRipartenza” vuoto.

    La discussione era partita da qui.

    Poi…sotto sotto si scopre quanto sottolineato da

    25/05/2023 - By65Franco ha scritto:


    Quanti campi sono ? … una miriade. ;))

    Hai studiato le Chiavi e le Relazioni ?

    Farei attenzione a come si pongono i quesiti. Le problematiche sono radicalmente diverse…andrebbe aperta una apposita discussione…magari nella sezione “Progettazione database”.

  • Re: Filtro cella Vuota

    Nella tabella vi sono tutti campi che servono ad identificare  un prodotto.

    Non va bene se quelle voci vengano messe tutte insieme?

  • Re: Filtro cella Vuota

    25/05/2023 - OsvaldoLaviosa ha scritto:


    25/05/2023 - Satoshj ha scritto:


    Ho creato una tabella Tab “Eccedenze” in cui è presente una colonna “SpedDiRipartenza”  e successivamente ho creato una maschera continua che attinge i date dalla tab eccedenze. 

    Adesso avrei bisogno che all'apertura della maschera continua la la macro effettui in automatico un filtro sulla colonna “SpedDiRipartenza” facendomi visualizzare solo i record in cui il campo “SpedDiRipartenza” sia vuoto.

    Successivamente dovrei creare 2 Button (su click), 1 che filtri per “SpedDiRipartenza" non vuoto e un'altro che filtri per “SpedDiRipartenza” vuoto.

    La discussione era partita da qui.

    Poi…sotto sotto si scopre quanto sottolineato da

    25/05/2023 - By65Franco ha scritto:


    Quanti campi sono ? … una miriade. ;))

    Hai studiato le Chiavi e le Relazioni ?

    Farei attenzione a come si pongono i quesiti. Le problematiche sono radicalmente diverse…andrebbe aperta una apposita discussione…magari nella sezione “Progettazione database”.

    Sono d'accordo … e forse, e ripeto forse perchè non vorrei fare delle gaff, non è neppure nello spirito e mission del Forum
    Qui si parte da zero. Con poche poche conoscenze che ovviamente vale per chiunque approccia per la prima volta un Database, la struttura, la programmazione, etc.etc..etc…

    Pertanto non c'è un confronto tecnico, più o meno con lo stesso livello di conoscenze, ma bensì la ricerca di soluzioni per piccoli e banali problemini.

    Sinceramente mi sono fatto lo scrupolo, forse erroneamente, ma considerando la premessa del post, di capire se si era partiti con il piede giusto. Organizzando le idee e quindi il Database in modo consono.

    Certo, adesso stà all'autore del post capire se vuole approfondire certi argomenti, l'abc della progettazione, oppure andare avanti così come capita e come vada vada…
    non so, sicuramente il post, se si vogliono avere pareri ed istruzioni di come organizzare un Db, va aperto o spostato nella sezione corretta. 

    Altrimenti, come da richiesta ci si limita a dare una possibile tra le tante soluzioni di come filtrare un recordset e quale oggetto/controllo da utilizzare allo scopo. 

    25/05/2023 - Satoshj ha scritto:


    Adesso avrei bisogno che all'apertura della maschera continua la la macro effettui in automatico un filtro sulla colonna “SpedDiRipartenza” facendomi visualizzare solo i record in cui il campo “SpedDiRipartenza” sia vuoto.

    Personalmente non saprei come procedere nel trattare certi Post…. chiedo agli anziani (in senso di frequentazione del forum ;D ) cosa e come meglio approcciarsi in questi casi.


    Ma venendo alla richiesta in origine… In questo caso basta inserire una where condition o un Fiter su caricamento della form testando il campo interassato se = a VbNullString

    Per esempio si può applicare nelle proprietà della form alla voce Filter

    Se poi si vuole, una volta aperta la Form, modificare il filtro in questione, per esempio si può usare una Combobox, Pulsati di Opzione, Interruttori… etc… e abbinando ad essi un valore di scelta che può per esempio essere True or False… basta eseguire una funzione o una istruzione per testare la scelta fatta ed impostare il Filter
    Esempio se si usa il bottone Opzione:

    Private Sub Opzione0_Click()
    
    If Me.Opzione0 Then Filter = "TuoCampo <> vbNullString" Else Filter = "TuoCampo <> vbNullString"
    FilterOn = True
    
    ' Oppure
    
    Filter = IIf(Me.Opzione0, "TuoCampo <> vbNullString", "TuoCampo = vbNullString")
    FilterOn = True
    
    End Sub

    in questo esempio si usa il controllo Opzione che restituisce True or False e l'etichetta dello stesso può essere impostata :
    Per esempio….

    1. per True = “Ricerca Valori Vuoti”
    2. per False = “Ricerca Valori non Vuoti”

    e al click su Opzione si cambia il Filtro e si cambia la descrizione dell'Etichetta.

    Questo per esempio è un esempio… ;)

  • Re: Filtro cella Vuota

    Per i pulsanti campo vuoto e campo popolato controlla l'uso di “is null” o “is not null”

    https://support.microsoft.com/it-it/office/esempi-di-criteri-di-query-3197228c-8684-4552-ac03-aba746fb29d8

    Per la tabella, considera un database come ad un file di testo.

    Se scrivi 11.000.000.000.000 di volte descrizione magazzino, capmagazzino, indirizzo magazzino, orari magazzino ecc… puoi semplicemente inserire codice magazzino e relazionarlo alla tabella magazzini.

    Il file si snellisce e non perdi risorse di memoria. Ma come ti hanno detto, questo riguarda la progettazione del database.

    La tua domanda si riferisce alla query. Scrivi pure tutto il db in una unica tabella come fosse un foglio di calcolo se vuoi, in ogni caso la query devi farla per campo vuoto e/o campo popolato.

    Altro consiglio, un pulsante per settare una query non ha senso. Puoi mettere una combo con etichetta “mostra” e items “tutti”, “vuoti”, “non vuoti”

    Nella select metti una condizione dove ricavi l'item della combo (0, 1, 2) del tipo:

    Where (condizione=0) or (condizione=1 and campo is null) or (condizione=2 and campo is not null)

    1 query parametrica  con tre risultati dettati dalla scelta della combo.

    In bocca al lupo!

  • Re: Filtro cella Vuota

    25/05/2023 - Satoshj ha scritto:


    Nella tabella vi sono tutti campi che servono ad identificare  un prodotto.

    Non va bene se quelle voci vengano messe tutte insieme?

    E' la natura delle informazioni come ti dicevo in precedenza…

    Esempio su Operatore:

    Mi viene da presupporre che la descrizione Operatore coincida con un soggetto fisico, una persona che opera e svolge un certo tipo di attività.
    magari ci possono essere più operatori, ma anche se fosse uno solo, la domanda ovvia da porsi è: 

    • Perchè tutte le volte devo mettere il nome o la sigla dell'operatore?
    • Perchè nel dadabase vado a consumare spazio inutilmente con delle descrizioni ridondanti che possono essere archiviate una volta sola?

    Se il mio pensiero coincide alla tua esigenza e allo scenario appena descritto, la soluzione da mettere in atto è molto semplice:

    1. si crea una tabella Operatore
    2. si inserisce nella Tabella Eccedenze la Chiave univoca di relazione alla tabella Operatore

    Esempio:

    Tabella Eccedenza:   Tbl_Eccedenza

    IdEccedenzeNumeraz.AutChiave Primaria Tabella Eccedenze
    IdOperatoreNumericoId Tabella Operatore
    Campo1DataData nnn
    Etc.. altri campi…  

    Tabella Operatori:   Tbl_Operatori

    IdOperatoreNumarz.AutChiave Primaria Tabella Operatori
    opeSiglaTesto BreveSigla Operatore
    opeDescrizioneTesto BreveDenominazione Operatore
    opeCognomeTesto BreveCognome Operatore
    opeNomeTesto BreveNome Operatore
    Etc… Etc… Se occorrono altre informazioni….

    A questo punto si realizza la relazione tra queste due Tabelle:

    Per esempio:

    Questo deve valere per tutti quei campi che andranno scelti e non digitati tutte le volte consumando inutile spazio e risorse nel Database.

Devi accedere o registrarti per scrivere nel forum
11 risposte