Einen vorherigen Datensatz in Access-Abfrage zu vergleichen

June 25

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.