Saper confrontare il record corrente con un record precedente di Microsoft Office Access può aiutare a identificare i dati ripetitivi . Access è un sistema di gestione di database relazionale comunemente usato per la progettazione di database locali . Una query viene utilizzata per recuperare i dati dalle tabelle del database . Visual Basic, Applications Edition (VBA ) è un linguaggio di programmazione utilizzato per automatizzare le attività di routine in Access. In pochi passi si può scrivere a VBA di un ciclo tra i risultati di una query . Istruzioni
1
Aprire il database di Access Northwind di Microsoft Office . Il database Northwind è incluso nella suite Microsoft Office . Selezionare il menu "Inserisci" e fare clic su
2
digitare quanto segue per dichiarare le variabili "Modulo ". :
Dim rst come Recordset
Dim dbs As Database
Dim queryStr As String Dim
qryPrev As String Dim
qryCurrent As String Dim
rstCnt As Integer
Set dbs = CurrentDb
3
digitare quanto segue per interrogare la tabella " Fornitori " :
queryStr = "SELECT Suppliers.Company , "
queryStr = queryStr & " fornitori [ Cognome ] , "
queryStr = queryStr & " fornitori [ Nome ] "
queryStr = queryStr & " dai fornitori; . ».
4 < p > Digitare il comando seguente per aprire un nuovo Recordset :
Set rst = dbs.OpenRecordset ( queryStr ) per
rst.MoveLast
rst.MoveFirst
5
Digitare quanto segue per scorrere i record del Recordset e confrontare il record corrente con il record precedente :
rstCnt = 0 per rst.RecordCount - 1
qryPrev = RST . Fields ( "Società") . Valore
qryPrev = qryPrev & rst.Fields ( " [ Nome ]") . Valore
qryPrev = qryPrev & rst.Fields ( " [ Nome ] « . ) Valore
rstCnt < > rst.RecordCount - 1 Poi
rst.MoveNext
qryCurrent = rst.Fields ( " . Società " ) Valore < br
qryCurrent > = qryCurrent & rst.Fields ( " [ Nome ]") . Valore
qryCurrent = qryCurrent & rst.Fields ( " [ Nome ]") . Valore
< p > Se qryPrev = qryCurrent Poi
Debug.Print " Record precedente è identico al record corrente . "
Debug.Print qryPrev
Debug.Print qryCurrent
< p > End If
Else
Debug.Print " Finished confrontando tutti i record ".
End If
Avanti rstCnt
6 < p > Digitare quanto segue per cancellare le variabili dalla memoria : .
rst.Close
dbs.Close
Premere " F5 " per eseguire la subroutine