Einen vorherigen Datensatz in Access-Abfrage zu vergleichen
Zu wissen, wie den aktuellen Datensatz mit einer vorherigen Datensatz in Microsoft Office Access vergleichen hilft Ihnen sich wiederholende Daten zu identifizieren. Der Zugang ist ein relationales Datenbankmanagementsystem häufig verwendet, um lokale Datenbanken entwerfen. Eine Abfrage zum Abrufen von Daten aus Datenbanktabellen verwendet. Visual Basic für Applikationen (VBA) ist eine Programmiersprache, die zum Automatisieren von Routineaufgaben in Access verwendet. In wenigen Schritten können Sie VBA durchlaufen Sie die Ergebnisse einer Abfrage schreiben.
Anweisungen
1 Öffnen Sie die Microsoft Office Access-Datenbank. Die Northwind-Datenbank ist in der Microsoft Office-Suite enthalten. Wählen Sie im Menü "Einfügen" und klicken Sie auf "Module".
2 Geben Sie Folgendes ein, um Variablen deklarieren:
Dim Rst als Recordset
Dim Dbs als Datenbank
Dim QueryStr As String
Dim QryPrev As String
Dim QryCurrent As String
Dim RstCnt As Integer
Eingestellt von Dbs = CurrentDb
3 Geben Sie Folgendes ein, um die Tabelle "Lieferanten" abzufragen:
QueryStr = "SELECT Suppliers.Company,"
QueryStr = QueryStr & "Lieferanten. [Nachname] "
QueryStr = QueryStr & "Lieferanten. [Vorname] "
QueryStr = QueryStr & "FROM Lieferanten;"
4 Geben Sie Folgendes ein, um einem neuen Recordset zu öffnen:
Festlegen von Rst = Dbs. OpenRecordset(queryStr)
RST. MoveLast
RST. MoveFirst
5 Geben Sie Folgendes ein, um die Datensätze im Recordset durchlaufen und vergleichen mit vorherigen Datensatz den aktuellen Datensatz:
Für RstCnt = 0, Rst. RecordCount - 1
qryPrev = rst.Fields("Company").Value
qryPrev = qryPrev & rst.Fields("[Last Name]").Value
qryPrev = qryPrev & rst.Fields("[First Name]").Value
If rstCnt <> rst.RecordCount - 1 Then
rst.MoveNext
qryCurrent = rst.Fields("Company").Value
qryCurrent = qryCurrent & rst.Fields("[Last Name]").Value
qryCurrent = qryCurrent & rst.Fields("[First Name]").Value
If qryPrev = qryCurrent Then
Debug.Print "Previous Record is identical to current record."
Debug.Print qryPrev
Debug.Print qryCurrent
End If
Else
Debug.Print "Finished comparing all records."
End If
Nächste rstCnt
6 Geben Sie Folgendes ein, um die Variablen aus dem Speicher zu löschen:
RST. Schließen
DBS. Schließen
Drücken Sie "F5", um die Unterroutine ausgeführt.