Filtrare record in una data specifica access vba

di il
14 risposte

Filtrare record in una data specifica access vba

Buongiorno a tutti,
ho un problema che non riesco a risolvere, probabilmente è una stupidata ma ci sto sbattendo la testa da un po'.
allora, io ho un db che ha una tabella con dei dati relativi al soggiorno di persone durante un evento; tra questi campi sono presenti la data di arrivo e la data di partenza.
ora, io ho bisogno di una maschera (magari basata su una query) che mi permetta di selezionare da una textbox una data specifica durante l'evento e filtrare tutti i record presenti in questa data.
es. l'evento inizia il 1/06/2018 e finisce il 31/06/2018
persona1 arriva il 15/06 e va via il 18/06
persona2 arriva il 02/06 e va via il 20/06
persona3 arriva il 19/06 e va via il 23/06
ecc..
se nella casella di testo io inserisco la data 16/06 mi mostra solo i primi due
se selezione 10/06 mi mostra solo il secondo
se seleziono 19/06 mi mostra i secondi due.

come potrei risolvere questa query?
Grazie

14 Risposte

  • Re: Filtrare record in una data specifica access vba

    Se non mostri la query... possiamo solo supporre tu abbia sbagliato qualcosa...
    Posta il predicato SQL
  • Re: Filtrare record in una data specifica access vba

    Ecco la query, in realtà è una semplicissima query basata solo su una tabella:

    SELECT Soggiorno.IDSoggiorno, Soggiorno.IDAnagrafico, Soggiorno.IDFamiglia, Soggiorno.Figlio1, Soggiorno.Figlio2, Soggiorno.Figlio3, Soggiorno.Figlio4, Soggiorno.Figlio5, Soggiorno.Figlio6, Soggiorno.Figlio7, Soggiorno.Figlio8, Soggiorno.PartecipanoEntrambi, Soggiorno.DataArrivo, Soggiorno.DataPartenza, Soggiorno.OraArrivo, Soggiorno.OraPartenza
    FROM Soggiorno;

    mentre nella maschera è presente una casella di testo DataEvento

    nella colonna DataArrivo avevo provato a mettere il criterio <=Maschere![pasti]![DataEvento] mentre nella DataPartenza >=Maschere![pasti]![DataEvento]

    tuttavia quando provo a inserire la data nella txtBox DataEvento ( che tra l'altro nell'evento afterUpdate ha il codice me.requery) la maschera si svuota e non mi mostra più nulla.
  • Re: Filtrare record in una data specifica access vba

    Se non applichi il criterio nella query... come lo applichi... io non ho ancora capito... il Requery non serve a nulla se non applichi il criterio nella query...
    Boh non so cosa aggiungere.
  • Re: Filtrare record in una data specifica access vba

    Insomma gecko, la WHERE dove sta?
  • Re: Filtrare record in una data specifica access vba

    Scusate, nel messaggio precedente ho scritto questo:

    nella colonna DataArrivo avevo provato a mettere il criterio <=Maschere![pasti]![DataEvento] mentre nella DataPartenza >=Maschere![pasti]![DataEvento]
  • Re: Filtrare record in una data specifica access vba

    SELECT Soggiorno.IDSoggiorno, Soggiorno.IDAnagrafico, Soggiorno.IDFamiglia, Soggiorno.Figlio1, Soggiorno.Figlio2, Soggiorno.Figlio3, Soggiorno.Figlio4, Soggiorno.Figlio5, Soggiorno.Figlio6, Soggiorno.Figlio7, Soggiorno.Figlio8, Soggiorno.PartecipanoEntrambi, Soggiorno.DataArrivo, Soggiorno.DataPartenza, Soggiorno.OraArrivo, Soggiorno.OraPartenza
    FROM Soggiorno
    WHERE (((Soggiorno.DataArrivo)<=[Maschere]![Pasti]![DataEvento]) AND ((Soggiorno.DataPartenza)>=[Maschere]![Pasti]![DataEvento]));
    eccola qui, completa
  • Re: Filtrare record in una data specifica access vba

    Per come hai messo il criterio il risultato che ottieni è corretto...
    DataArrivo<=EVENTO e contemporaneamente
    DataPartenza>=EVENTO.

    Se rivedi il tuo esempio è coerente sono le presenze durante l'evento...
    Tu cosa vuoi e cosa ti aspetti...?

    Se l'evento ha durata >1gg allora non va bene...
    Devi controllare
    DataArrivo<=FineEvento AND DataPartenza>=InizioEvento
  • Re: Filtrare record in una data specifica access vba

    Allora la maschera che mi restituisce i dati della query è impostata su maschere continue, quindi all'apertura mi mostra tutti i record; quando io inserisco una data nella txtbox DataEvento mi aspetto che ma maschera si ricarichi mostrandomi solo e soltanto i record in cui DataEvento è compreso tra DataArrivo e dataPartenza ( cosi da capire quante persone sono presenti in quel dato giorno).

    tuttavia questo non succede, quando metto la data nell txtBox la maschera si svuota e non mi mostra più nulla.
  • Re: Filtrare record in una data specifica access vba

    No, l'evento ha sempre durata maggiore di un giorno e i partecipanti possono essere presenti anche sono una parte dell'intero evento
  • Re: Filtrare record in una data specifica access vba

    Se l'evento ha durata >1gg allora non va bene...
    Devi controllare
    DataArrivo<=FineEvento AND DataPartenza>=InizioEvento

    scusami non ho capito questa parte...
  • Re: Filtrare record in una data specifica access vba

    In questo particolare problema che ho posto, la durata dell'evento non è rilevante, ciò che è rilevante è la durata di permanenza di ogni partecipante, data da DataArrivo e DataPartenza.
    e quello che voglio ottenere è sapere nel giorno indicato in DataEvento, quanti partecipanti ci sono.
  • Re: Filtrare record in una data specifica access vba

    Non scrivere post a raffica come fossi in una chat... sarà mai possibile non riuscire ad esporre una sintesi più riflessiva...?
    La durata dell'evento ha importanza eccome perché gli estremi dell'evento.sono quelli che ti consentono di capire la contemporaneità della presenza...

    Secondo me non hai capito quello che ti ho suggerito, quindi cortesemente prima di replicare riflettici con la calma che è necessaria.
  • Re: Filtrare record in una data specifica access vba

    Ti ringrazio tanto, ma haimè temo che l'unico interesse in forum come questi sia sentirsi superiori a persone che chiedono aiuto. la sintesi riflessiva c'era ed era il primo messaggio molto chiaro a mio avviso ( se solo ci avessi riflettuto con la calma necessaria prima di replicare dicendo che non era chiaro) anche senza postare la query, ho pure postato il secondo messaggio e nemmeno quello temo sia stato letto senza rifletterci. quindi grazie lo stesso.
    Vedi, dovresti avere chiaro che se una persona scrive in un forum per chiedere un aiuto vuol dire che non ha tutto chiaro, altrimenti non scriverebbe e si arrangerebbe da solo.
    cancello account.
  • Re: Filtrare record in una data specifica access vba

    Considerazione più che condivisibile.
Devi accedere o registrarti per scrivere nel forum
14 risposte