06/08/2005
Aprire una query parametrica utilizzando ADO.
Versione ADO utilizzata: 2.8
Nell'esempio viene sfruttata la possibilità di vedere il nome della query come
metodo dell'oggetto Connection.
Aprite il database di esempio NorthWind, create un nuovo modulo Bas, incollate
il codice qui sotto ed eseguitelo.
Dato che il mome della query da richiamare contiene degli spazi, è necessario
racchiuderla tra due coppie di parentesi quadre, la più esterna serve a VBA, la più interna serve a Jet.
----------------------------
Sub TestQueryParametrica()
Dim Rs As
New ADODB.Recordset
Dim Cn As
ADODB.Connection
Dim DaData As Date
Dim AData As Date
Set Cn = CurrentProject.Connection
'Imposto l'intervallo delle date
DaData = "22/07/1996"
AData = "23/07/1996"
'Apro il recordset
Cn.[[Vendite impiegato per paese]] DaData, AData, Rs
'Stampo alcuni campi nella finestra immediata
Do Until Rs.EOF
Debug.Print Rs!IDOrdine, Rs!DataSpedizione
Rs.MoveNext
Loop
'Chiudo il recordset
Rs.Close
Set Rs = Nothing
Set Cn = Nothing
End Sub
----------------------------
Ovviamente trattandosi di una caratteristica dell'oggetto ADO possiamo applicare
lo stesso codice ad un progetto ADP collegato ad un database di Sql Server.
Aprite un progetto ADP, collegatelo al database di esempio
NorthWind, create un nuovo modulo Bas, incollate il codice qui sotto ed
eseguitelo.
----------------------------
Sub TestStoredParametrica()
Dim Rs As New
ADODB.Recordset
Dim Cn As
ADODB.Connection
Dim DaData As Date
Dim AData As Date
Set Cn = CurrentProject.Connection
'Imposto l'intervallo delle date
DaData = "22/07/1996"
AData = "23/07/1996"
'Apro il recordset
Cn.["Employee Sales by Country"] DaData, AData, Rs
'Stampo alcuni campi nella finestra immediata
Do Until Rs.EOF
Debug.Print Rs!OrderID, Rs!ShippedDate
Rs.MoveNext
Loop
'Chiudo il recordset
Rs.Close
Set Rs = Nothing
Set Cn = Nothing
End Sub
----------------------------
Sql Server permette di delimitare i nomi degli oggetti tra doppi apici, quindi
possiamo utilizzare questo tipo di delimitatore al posto delle parentesi quadre.
Giorgio Rancati
Torna all'indice