Savoir comment comparer l'enregistrement en cours d'un enregistrement précédent dans Microsoft Office Access peut vous aider à identifier des données répétitives . L'accès est un système de gestion de base de données relationnelle couramment utilisée pour la conception de bases de données locales . Une requête est utilisée pour récupérer les données des tables de base de données . Visual Basic pour Applications ( VBA ) est un langage de programmation utilisé pour automatiser des tâches de routine dans Access. En quelques étapes, vous pouvez écrire VBA pour parcourir les résultats d'une requête . Instructions
1
Ouvrez la base de données Access Northwind Microsoft Office . La base de données Northwind est inclus dans la suite Microsoft Office. Sélectionnez le menu "Insertion " et cliquez sur
2
Tapez la suivante pour déclarer vos variables "Module ". :
Rst As Recordset
Dim dbs As Database Photos
queryStr Dim As String
qryPrev Dim As String
qryCurrent Dim As String
rstCnt As Integer
Set dbs = CurrentDb
3
Tapez la commande suivante pour interroger la table "Fournisseurs ":
queryStr = "SELECT Suppliers.Company , "
queryStr = queryStr & " fournisseurs [ Nom ] , "
queryStr = queryStr et " fournisseurs [ Prénom ] "
queryStr = queryStr et " des fournisseurs; . ».
4
Tapez la commande suivante pour ouvrir une nouvelle enregistrements:
Set rst = dbs.OpenRecordset ( queryStr )
rst.MoveLast
rst.MoveFirst
5
Tapez la commande suivante pour parcourir les enregistrements dans le jeu d'enregistrements et de comparer l'enregistrement en cours avec le précédent record :
rstCnt = 0 To rst.RecordCount - 1 x
qryPrev = rst . Fields ( "Société" ) . Value
qryPrev = qryPrev & rst.Fields (« [nom] »). Valeur
qryPrev = qryPrev & rst.Fields ( " [ Prénom ] »). Valeur
Si rstCnt <> rst.RecordCount - 1 Puis
rst.MoveNext
qryCurrent = rst.Fields (". Société ») Valeur
qryCurrent = qryCurrent & rst.Fields ( " [nom] " ) . Value
qryCurrent = qryCurrent & rst.Fields ( " [ Prénom ]") . Value
< p > Si qryPrev = qryCurrent Puis
Debug.Print " enregistrement précédent est identique au record actuel . "
Debug.Print qryPrev
Debug.Print qryCurrent
< p > End If Else
Debug.Print " fini de comparer tous les records. "
End If
Suivant rstCnt
6 < p> Tapez la commande suivante pour effacer les variables de la mémoire : .
rst.Close
dbs.Close
Appuyez sur " F5 " pour exécuter le sous-programme