Routine per lo sviluppo di database per la qualità

Lettura dei dati e conteggio dei record

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:

  1. apriamo il database con DAO o ADO (lo abbiamo già visto fare)
  2. 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)
  3. 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


 

Ritorna

Torna Su

Chiedi aiuto