Queri di selezione di date scadute

di Anonimizzato14826 il
7 risposte
Ho un centro sportivo in cui gli atleti devono produrre un certificato medico annuale, per ogni atleta viene registrata la data di scadenza del certificato, mi serve l'elenco di tutti gli atleti ai quali è scaduto il certificato e quindi una query che mi indica tutti i certificati scaduti.
La mia procedura attuale :
Ho fatto una query semplice dalla tabella anagrafica degli atleti dove c'è anche il campo data del certificato in cui si indica la data della scadenza. Ho trasformato la query in una di selezione e nel campo della data di scadenza ho inserito questa condizione "<= oggi()" oppure <=date() ma non funziona dove ho sbagliato ?

7 Risposte

  • Navajos3 ha scritto:


    La mia procedura attuale :
    Ho fatto una query semplice dalla tabella anagrafica degli atleti dove c'è anche il campo data del certificato in cui si indica la data della scadenza.
    Quindi la data di scadenza è calcolata dalla query, non è già presente nella tabella, giusto? Se sì: come ricavi questo campo calcolato?

    Navajos3 ha scritto:


    Ho trasformato la query in una di selezione
    Perché prima cos'era? Non era già una query di selezione?

    Navajos3 ha scritto:


    nel campo della data di scadenza ho inserito questa condizione "<= oggi()"
    no, non esiste questa funzione.

    Navajos3 ha scritto:


    oppure <=date() ma non funziona dove ho sbagliato ?
    questa sì, in teoria è giusta. Ti dà errori o non restituisce il risultato voluto? Hai qualche funzione personalizzata, magari in qualche modulo, che calcola o elabora le date?
    Pubblica se puoi la l'intera query in SQL (che preferisco) o almeno come è stato calcolato il campo della data di scadenza.
  • Navajos3 ha scritto:


    Ho fatto una query semplice dalla tabella anagrafica degli atleti dove c'è anche il campo data del certificato in cui si indica la data della scadenza
    Mi sembra strano che il campo ScadenzaCertificato sia nella tabella Anagrafica.

    Il criterio
    <=Date()
    messo in una query in corrispondenza di un campo di tipo Data è corretta.

    "Query semplice" o "query di selezione", penso siano la stessa cosa.
  • Grazie per la rsiposta.
    Adesso funziona era una questione di apici.
    E se volessi fare un elenco di certificati che stanno per scadere ? Con un margine di 30 giorni , in modo da avvisare gli atleti in tempo per il rinnovo del certificato ?
  • Navajos3 ha scritto:


    E se volessi fare un elenco di certificati che stanno per scadere ? Con un margine di 30 giorni , in modo da avvisare gli atleti in tempo per il rinnovo del certificato ?
    Imposta come criterio
    DateDiff("d", Date(), [DataScadenza]) <= 30
    Ipotizzando l'uso di Access in italiano, se lavori in QBE diventa
    DateDiff("g"; Date(); [DataScadenza]) <= 30
  • Per chi ne vuole usufruire

    Between Date() and Date()-30

    Funziona cosi
Devi accedere o registrarti per scrivere nel forum
7 risposte