MS Access 2003 - Query per ricerca data

sabato 19 dicembre 2009 - 20.19

fabiotes Profilo | Newbie

Ciao a tutti, ho la necessità di estrarre da un DB, dei clienti che abbiano la data di nascita in un determinato periodo di tempo (da --> a), di cui però a me interessa solo il giorno ed il mese.
Mi spiego meglio, devo estrarre delle date di compleanno e quindi della data di nascita per intero, a me serve solo il giorno ed il mese. Ho creato una query con la clausola "format" e l'ho legata ad una maschera da cui richiedo i dati (DataInizioCOM e DataFineCOM).
Il problema che mi si presenta è che mi estrae in ogni caso tutti i record, senza rispettare l'intervallo di tempo da me richiesto. Devo precisare che il campo "Data_Nascita" è nel formato "99/99/99", mentre i due campi delle date della maschera sono nel formatao "99/99".
Allego la query così come descritta:

SELECT Clienti.*
FROM Clienti
WHERE format(Clienti.Data_Nascita,"dd/mm") Between (Forms![Anteprima Compleanni]!DataInizioCOM) And (Forms![Anteprima Compleanni]!DataFineCOM);

Un grazie anticipato a tutti

Jok83 Profilo | Junior Member

Ciao credo dipenda proprio dalla format (ma su SQL non esiste non so su access) devi metterla anche nelle date nel beetwen:

WHERE format(Clienti.Data_Nascita,"dd/mm") Between (format(Forms![Anteprima Compleanni]!DataInizioCOM,"dd/mm")) And (format(Forms![Anteprima Compleanni]!DataFineCOM,"dd/mm"));

fabiotes Profilo | Newbie

Ciao Jok83, in effetti è quello che ho provato inizialmente, ma sembra che la clausola "format", apportata ad un campo di una form, sia irrilevante.
Ho comunque risolto il tutto, utilizzando le clausole "Month" e "Day" e modificando i campi "Data_InizioCOM" e "Data_FineCOM" nel formato data 99/99/99. Allego comunque il formato della query, casomai dovesse servire a qualcun'altro. Nel frattempo ti ringrazio molto per l'aiuto e ti faccio gli auguri di Buon Natale e Felice Anno Nuovo.
Fabio

Query di ricerca (è stata modificata rispetto a quella originale, con degli ulteriori controlli):

WHERE ((Clienti.Data_Nascita) Is Not Null And ((Clienti.Flag_PRN_COM)=0) And ((Clienti.Spedizione)=-1) And ((Clienti.MM_Nascita) Between Month(Forms![Anteprima Compleanni]!DataInizioCOM) And Month(Forms![Anteprima Compleanni]!DataFineCOM) And ((Clienti.DD_Nascita) Between Day(Forms![Anteprima Compleanni]!DataInizioCOM) And Day(Forms![Anteprima Compleanni]!DataFineCOM))))
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5