Query con criteri di data inizio e fine

di il
8 risposte

Query con criteri di data inizio e fine

Salve,
ho una query "Q_data" che fa riferimento a un campo data di una tabella "Tab_S" e nei criteri porta ">=[Data inizio] And <=[Data fine]" (in SQL "WHERE (((data)>=[Data inizio] And (data)<=[Data fine]));"
Quando, con un pulsante, lancio la query si apre una mascherina che richiede la data inizio e poi un'altra per la data fine e quindi si apre la maschera "M_Tot" con tutti i dati richiesti per il periodo stabilito.
il mio problema è questo: come faccio a far sì che sia la data inizio che la data fine mi vengano riportate sulla stessa maschera "M_Tot" in due campi come Label?
Soluzione alternativa: si apre la maschera "M_Tot" dove si vedono solo due campi testo denominati data inizio e data fine e che, una volta compilati, facciano apparire i campi con i dati richiesti con la "Q_data"?
Grazie

8 Risposte

  • Re: Query con criteri di data inizio e fine

    M_Tot è "maschera singola", "maschera continua" o "foglio dati"?
    M_Tot poggia su Q_data?
  • Re: Query con criteri di data inizio e fine

    Maschera singola su cui si ritrovano i dati della query Q_data. In effetti ogni singolo record della maschera M_tot genera la somma dei record del periodo scelto. Quindi vorrei sapere in tempo reale quelle somme a quale periodo si riferiscono (anche se li conosco perché devo digitare le due date per aprire la maschera). Ho provato con un campo testo legato al campo data della query ma mi dà solo la data del primo record all'interno del periodo e niente data di fine (es: data inizio 1/2/2018 e data fine 31/3/2018. Se il primo record nel periodo è del 3/2/2018 io mi ritrovo questa data nel campo testo)
  • Re: Query con criteri di data inizio e fine

    La maschera singola mostra sempre un record alla volta.
    Se usassi foglio dati vedresti il risultato, ma non le 2 caselle di testo in alto.
    Ci vedrei quindi una maschera continua. Metti le due caselle di testo DataInizio e DataFine nella Intestazione maschera, mentre il corpo lo rendi talmente "sottile" da farlo assomigliare al foglio dati.
    I criteri della query devono cambiare da
    [Data inizio]
    in
    [Maschere]![Nome maschera]![DataInizio]
    dove DataInizio è il nome della textbox1. Idem per [Data fine] ===> [Maschere]![Nome maschera]![DataFine]
  • Re: Query con criteri di data inizio e fine

    gda43 ha scritto:


    Salve,
    ho una query "Q_data" che fa riferimento a un campo data di una tabella "Tab_S" e nei criteri porta ">=[Data inizio] And <=[Data fine]" (in SQL "WHERE (((data)>=[Data inizio] And (data)<=[Data fine]));"
    Quando, con un pulsante, lancio la query si apre una mascherina che richiede la data inizio e poi un'altra per la data fine e quindi si apre la maschera "M_Tot" con tutti i dati richiesti per il periodo stabilito.
    il mio problema è questo: come faccio a far sì che sia la data inizio che la data fine mi vengano riportate sulla stessa maschera "M_Tot" in due campi come Label?
    Soluzione alternativa: si apre la maschera "M_Tot" dove si vedono solo due campi testo denominati data inizio e data fine e che, una volta compilati, facciano apparire i campi con i dati richiesti con la "Q_data"?
    Grazie
    Stai ragionando al Contrario di come si deve operare...!
    Metti 2 TextBox(txtDataIni e txtDataEnd) in una Maschera e la query legge direttamente i valori dalla maschera.
    Il tuo metodo è assolutamente errato.
  • Re: Query con criteri di data inizio e fine

    Osvaldo...quanto dici sarebbe corretto se la maschera (che poi sia singola o continua non saprei: per me è una maschera con un certo numero di campi textbox) fosse aperta così da scrivere le date inizio e fine nelle relative textbox. In questo caso la query con [Maschere]![Nome maschera]![DataInizio] ecc. darebbe i risultati sperati che è poi quello che dice anche Alex....e vi ringrazio.
    Ma ciò che io speravo possibile è quanto segue: quando clicco sul pulsante che deve aprirmi la la "M_Tot" basata sulla "Q_Data", si aprono in sequenza, prima, le due mascherine (prompt) che richiedono le due date (parametri) che servono alla query e poi, si apre la "M_Tot" presentandomi i valori della query. Tutto OK.
    Ora mi chiedo: la query dove salva le due date (parametri) che mi richiede? Non è possibile intercettarle e farle vedere sulla "M_Tot" ? Sembrerebbe di no...Grazie comunque
  • Re: Query con criteri di data inizio e fine

    gda43 ha scritto:


    Osvaldo...quanto dici sarebbe corretto se la maschera (che poi sia singola o continua non saprei: per me è una maschera con un certo numero di campi textbox) fosse aperta così da scrivere le date inizio e fine nelle relative textbox. In questo caso la query con [Maschere]![Nome maschera]![DataInizio] ecc. darebbe i risultati sperati che è poi quello che dice anche Alex....e vi ringrazio.
    Ma ciò che io speravo possibile è quanto segue: quando clicco sul pulsante che deve aprirmi la la "M_Tot" basata sulla "Q_Data", si aprono in sequenza, prima, le due mascherine (prompt) che richiedono le due date (parametri) che servono alla query e poi, si apre la "M_Tot" presentandomi i valori della query. Tutto OK.
    Ora mi chiedo: la query dove salva le due date (parametri) che mi richiede? Non è possibile intercettarle e farle vedere sulla "M_Tot" ? Sembrerebbe di no...Grazie comunque
    Fai attenzione, devi capire il suggerimento perchè non ti viene detto qualche cosa di ANOMALO o diverso da quello che dici tu, ma deevi comprendere i problemi di quanto tu PENSI sia da fare e di quanto invece con le stesse modalità è giusto fare.

    La premessa è che l'inserimento dati va fatta SEMPRE, non alcune volte ma SEMPRE, da oggetti dedicati alla gestione degli inserimenti, oggetti quindi che consentono l'interazione dell'utente(e questo anche i PROMPT lo fanno, ma anche le TextBox in una Maschera) ma anche e soprattutto allo Sviluppatore che deve SEMPRE poter VALIDARE gli inserimenti.

    Quei 2 Prompt di cui parli che consentono l'inserimento dei Parametri, consentono anche l'inserimento di valori ERRATI con la possibilità di finire in posizioni NON CONTROLLATE e NON CONTROLLABILI in quanto quel Prompt non è gestibile.

    Quelloc he si fa è costruire una Mascherina DEDICATA con 2 TextBox ed un Button, minimal che si apre quando devi inserire le 2 Date, e quel Button che esegue il resto.
    Questo ti consente di controllare, suggerire ed avvisare l'utente nel caso in cui invece della Data Corretta inserisse una Data Errata, o se al posto della Data inserisse un Nome...!

    Giusto per capire in qei PROMPT la datta va inserita in Accezione ANGLOSASSONE... e non molti utenti lo capiscono...

    Le date non vengono salvate nella Query, ma, se la QUERY ha la definizione ESPLICITA dei Parametri, e la MAschera da aprire è basata su questa Query, puoi recuperarne i valori dalla Maschera..., anche se personalmente opterei per tecniche diverse, ma anche quì serve disporre di un vocabolario tecnico più ampio...

    Ora vedi tu...
  • Re: Query con criteri di data inizio e fine

    Per me c'è qualche concetto che si autocontraddice o autoreferenzia (non trovo la definizione adatta!).
    Io e @Alex ti stiamo dicendo che la query deve leggere i valori/parametri da [Maschere]![Nome maschera]![DataInizio] e [Maschere]![Nome maschera]![DataFine]. Se tu li scrivi esattamente così nella query, non ti appariranno più le 2 finestrelle.
    Si dà anche il caso che M_Tot poggia sulla query...ma scrivendo quei 2 parametri in query, cosa accade quando tu vai ad aprire M_Tot?

    Mumble, mumble. Una possibilità sarebbe:
    1. Togli dalla query i 2 parametri e fai poggiare M_Tot su Q_Data senza alcun filtro
    2. In maschera M_Tot tu hai le 2 textbox
    3. Il clic del pulsante che deve fare DoCmd.ApplyFilter e sfruttare l'argomento WHERE che punta sul Between delle 2 textbox
  • Re: Query con criteri di data inizio e fine

    Un po' in ritardo ma rispondo.... Osvaldo, Alex: Apprezzo molto i Vs. interventi e già all'inizio il tutto funzionava bene (mi riferisco alla query con il filtro where) con i suoi prompt in cui indicavo le due date e si apriva la maschera M_tot con i risultati. Mi mancava solo l'indicazione delle date sulla maschera M_tot. Seguendo in parte le indicazioni di Alex ora ho risolto con la query senza parametri, due textbox + un pulsante sulla maschera M_tot. Premendolo attivo una semplice macro con il filtro "((([Q_data].[Data])>=[Forms]![Totali]![DataInizio] And ([Q_data].[Data])<=[Forms]![Totali]![DataFine]))....e con la M_tot aperta posso cambiare a piacere il periodo senza dover tornare indietro per rilanciare la query con i prompt....
    Scusate il disturbo e....Grazie
Devi accedere o registrarti per scrivere nel forum
8 risposte