Zugriff auf VBA-Recordsets - Öffnen, Zählen, Schleifen und mehr

In diesem Tutorial erfahren Sie, wie Sie ein Recordset öffnen, die Anzahl der Datensätze im Recordset zählen, das Recordset durchlaufen, einen Datensatz hinzufügen, einen Datensatz aktualisieren, einen Wert aus einem Datensatz lesen und einen Datensatz löschen.

Wir haben eine Zugriffstabelle namens ProductsT, die unten gezeigt wird:

Öffnen eines Recordsets

Wir müssen zuerst die Datenbank einrichten, die wir verwenden möchten, in diesem Fall ist es die aktuell geöffnete Datenbank. Wir können dann die CurrentDB.OpenRecordSet-Methode verwenden, um unser Recordset zu öffnen/erstellen.

Um ein Recordset zu erstellen, mit dem wir die Daten in der Tabelle ProductsT bearbeiten können, verwenden wir den folgenden Code:

1 CurrentDb.OpenRecordset ("ProdukteT")

Zählen der Anzahl der Datensätze mit VBA

Sobald Sie ein Recordset erstellt haben, möchten Sie wahrscheinlich etwas Nützliches damit machen oder die darin enthaltenen Daten auf irgendeine Weise manipulieren. Sie können die Anzahl der Datensätze in Ihrem Dataset (in diesem Fall die Tabelle namens ProductsT) mit dem folgenden Code zählen:

1 MsgBox CurrentDb.OpenRecordset("ProductsT").RecordCount

Durchlaufen eines RecordSets mit VBA

Der folgende Code durchläuft unser RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Dim ourDatabase As DatabaseDimmen Sie unser Recordset als RecordsetSetzen Sie unsereDatenbank = CurrentDbSetze ourRecordset = ourDatabase.OpenRecordset("ProductsT")Machen Sie bis zu unseremRecordset.EOFMsgBox ourRecordset!ProductIDourRecordset.MoveNextSchleifeEnd Sub

Hinzufügen eines Datensatzes zu einem RecordSet

Verwenden Sie die Recordset.AddNew-Methode, um dem RecordSet einen neuen Datensatz hinzuzufügen:

1234567891011121314 Unter RecordSet_Add()Mit CurrentDb.OpenRecordset("ProductsT").Neue hinzufügen![ProduktID] = 8![ProductName] = "Produkt HHH"![ProduktPreisPerEinheit] = 10![ProductCategory] = "Spielzeug"![EinheitenInStock] = 15.AktualisierenEnde mitEnd Sub

Das Ergebnis ist:

Aktualisieren eines Recordsets

Sie müssen die Methode Recordset.AddNew oder Recordset.Edit verwenden. Nach dieser Anweisung müssen Sie die Methode Recordset.Update verwenden, um die Änderungen beizubehalten.

Lesen von Werten aus einem Datensatz

Sie müssen die Recordset.FindFirst-Methode verwenden, um einen Datensatz, den aktuellen Datensatz, zu erstellen. Sie müssen dann Recordset.Fields verwenden, um anzugeben, welches Feld angezeigt werden soll.

12345678910111213141516 Unter RecordSet_ReadValue ()Dim ourDatabase As DatabaseDimmen Sie unser Recordset als RecordsetSetzen Sie unsereDatenbank = CurrentDbSet ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset)Mit unserem Recordset.FindFirst "ProductName = " & "'Product CCC'"Wenn .NoMatch ThenMsgBox "Keine Übereinstimmung gefunden"AndersMsgBox ourRecordset.Fields("ProductCategory")Ende WennEnde mitEnd Sub

Das Ergebnis ist:

Löschen eines Datensatzes aus einem Recordset

Um einen Datensatz aus einem Recordset zu löschen, müssen Sie ihn zuerst mit der Methode Recordset.FindFirst zum aktuellen Datensatz machen. Sie können es dann mit der Recordset.Delete-Methode löschen. Der folgende Code zeigt, wie Sie Datensatz 2 im Datensatz löschen:

1234567891011121314151617181920212223 Unter RecordSet_DeleteRecord ()Dim ourDatabase As DatabaseDimmen Sie unser Recordset als RecordsetSetzen Sie unsereDatenbank = CurrentDbSet ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset)Mit unserem Recordset.FindFirst "ProductName = " & "'Produkt BBB'"Wenn .NoMatch ThenMsgBox "Keine Übereinstimmung gefunden"AndersourRecordset.DeleteEnde WennEnde mit'Tabelle wieder öffnenDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProdukteT"End Sub

Das Ergebnis ist:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave