Abbiamo visto nell'esempio 2
come sia possibile aprire e leggere le tabelle utilizzando DAO o ADO.
Non essendo questo un corso di programmazione continuiamo stimolando la
fantasia dell'utente di Access che potrebbe ad un certo punto porsi la
seguente domanda:
- quanti sono i record nella tabella X?
oppure
- quanti sono i clienti di Roma?
Per rispondere via software a queste
domande dovremo provvedere a fare le seguenti operazioni:
- apriamo il database con DAO o ADO (lo
abbiamo già visto fare)
- leggiamo ad uno ad uno tutti i record
della tabella o della query in cui si è specificato di estrarre solo
i clienti di Roma (anche questa non è una novità ma in questo caso
si usa una nuova funzione che è commentata)
- ad ogni record incrementiamo di 1 un
contatore
Proviamo quindi a copiare la routine
sotto riportata (usa DAO) ed eventualmente modifichiamo il nome della
tabella.
Volendo possiamo copiare le righe dell'esempio 1 per utilizzare ADO invece
che DAO.
In ogni caso, un poco di copia e incolla,
ci permetteranno di navigare tra i record.
Al prossimo esempio impareremo a fare
calcoli con i dati letti.
ROUTINE
'---------------------------------------------------------------
' Esempio di apertura database con DAO e conteggio dei record
' presenti in una tabella. Alla fine apre una casella in cui
' c'è una informazione.
' Si ipotizzi di aprire una tabella di nome Clienti
'---------------------------------------------------------------
Dim db As Database
Dim rst1 As Recordset, Numero As Double
Set db = CurrentDb
Set rst1 = db.OpenRecordset("Clienti", dbOpenDynaset)
' ---------------------------------------
' lettura dati
' ---------------------------------------
Numero = 0
' Vai al primo record della tabella
rst1.MoveFirst
' Scorri tutti i record fino alla fine della tabella (EOF = End Of File)
' La funzione while not .... wend permette di effettuare un loop di tutti
' i record
While Not rst1.EOF
' La variabile Numero acquisisce il valore del numero di record
Numero = rst1.RecordCount
' Vai al record successivo
rst1.MoveNext
Wend
' Se ci sono più di
1000 clienti appare un messaggio
If Numero > 1000 Then MsgBox "Hai più di 1000 clienti"
Close
Scarica
il database Access 2000 d'esempio
|