Un aiuto per query access

lunedì 06 marzo 2006 - 15.48

leleware Profilo | Newbie

Salve a tutti, avrei bisogno di sapere come si imposta una query che richiede 2 date come parametri.. esempio: vorrei avere un report di tutti gli appuntamenti compresi tra x e y, dove x e y sono io a inserirli.
grazie a tutti.

lbenaglia Profilo | Guru

>Salve a tutti, avrei bisogno di sapere come si imposta una query
>che richiede 2 date come parametri.. esempio: vorrei avere un
>report di tutti gli appuntamenti compresi tra x e y, dove x e
>y sono io a inserirli.

Ciao leleware,

Microsoft Access permette da sempre di incapsulare comandi di SELECT in oggetti QueryDef che puoi definire selezionando Queries, New dalla maschera principale.
Nella definizione di una query ti viene data la possibilità di definire anche eventuali parametri di input.
Osserva la seguente query basata sulla tabella Orders del database Northwind:

PARAMETERS [From] Date, [To] Date; SELECT OrderID, OrderDate FROM Orders WHERE OrderDate BETWEEN [From] AND [To];

Come vedi ho definito i parametri di input [From] e [To] che mi permettono di valorizzare un intervallo temporale su cui ricercare gli ordini.
Eseguendo la query ti verrà chiesto di valorizzare tali parametri utilizzando il formato data USA (MM/DD/YYYY).
Se ad esempio volessi recuperare tutti gli ordini del luglio 1996 andrò a scrivere 07/01/1996 e 07/31/1996 ottenendo il seguente result set:

Order ID Order Date --------- ----------- 10248 04-lug-1996 10249 05-lug-1996 10250 08-lug-1996 10251 08-lug-1996 10252 09-lug-1996 10253 10-lug-1996 10254 11-lug-1996 10255 12-lug-1996 10256 15-lug-1996 10257 16-lug-1996 10258 17-lug-1996 10259 18-lug-1996 10260 19-lug-1996 10261 19-lug-1996 10262 22-lug-1996 10263 23-lug-1996 10264 24-lug-1996 10265 25-lug-1996 10266 26-lug-1996 10267 29-lug-1996 10268 30-lug-1996 10269 31-lug-1996

Per richiamare via codice una query parametrica puoi ricorrere a DAO, il modello oggetti nativo di Access, oppure ad ADO.
Ti allego un link che ti mostra come richiamare una query parametrica in una pagina ASP con ADO:
http://groups.google.it/group/microsoft.public.it.sql/msg/cadf5070f820557c

>grazie a tutti.
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

leleware Profilo | Newbie

Grazie mille per l'aiuto, ho risolto, anche se rimane una piccola cosa.. ho notato che a parità di data (es. piu' appuntamenti il 3 marzo) la query mi restituisce solo il primo... Ma non mi arrendo.

Ciao

lbenaglia Profilo | Guru

>ho notato che a parità di data (es. piu' appuntamenti
>il 3 marzo) la query mi restituisce solo il primo...

Onestamente non saprei.
Guarda il mio esempio: l'8 luglio sono stati effettuati due ordini. Se valorizzi i parametri con quella data otterrai in output le due righe richieste:

OrderID OrderDate -------- ---------- 10250 08/07/1996 10251 08/07/1996

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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