Toegang tot VBA-recordsets - Open, Count, Loop en meer

In deze zelfstudie leren we hoe u een recordset opent, het aantal records in de recordset telt, door de recordset loopt, een record toevoegt, een record bijwerkt, een waarde uit een record leest en een record verwijdert.

We hebben een Access Table, genaamd ProductsT hieronder weergegeven:

Een recordset openen

We moeten eerst de database vaststellen die we willen gebruiken, in dit geval de momenteel geopende database. We kunnen dan de CurrentDB.OpenRecordSet-methode gebruiken om onze Recordset te openen/maken.

Om een ​​Recordset te maken waarmee we de gegevens in de tabel ProductsT kunnen manipuleren, zouden we de volgende code gebruiken:

1 CurrentDb.OpenRecordset ("ProductenT")

Het aantal records tellen met VBA

Als je eenmaal een Recordset hebt gemaakt, wil je er hoogstwaarschijnlijk iets nuttigs mee doen of de gegevens erin op de een of andere manier manipuleren. U kunt het aantal records in uw dataset tellen (in dit geval de tabel met de naam ProductsT) met behulp van de volgende code:

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

Een RecordSet doorlussen met VBA

De volgende code loopt door onze RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Dim onze database als databaseDim onze Recordset als RecordsetStel onzeDatabase = CurrentDb inStel ourRecordset = ourDatabase.OpenRecordset("ProductsT")Doen tot onzeRecordset.EOFMsgBox onzeRecordset!ProductIDourRecordset.MoveNextLusEinde sub

Een record toevoegen aan een RecordSet

Gebruik de methode Recordset.AddNew om een ​​nieuw record aan de RecordSet toe te voegen:

1234567891011121314 Sub RecordSet_Add()Met CurrentDb.OpenRecordset("ProductsT").ToevoegenNieuw![ProductID] = 8![ProductNaam] = "Product HHH"![ProductPrijsPerEenheid] = 10![ProductCategory] = "Speelgoed"![EenhedenInVoorraad] = 15.UpdateEindigt metEinde sub

Het resultaat is:

Een recordset bijwerken

U moet de methode Recordset.AddNew of Recordset.Edit gebruiken. Na deze verklaring moet u de Recordset.Update-methode gebruiken om de wijzigingen te behouden.

Waarden uit een record lezen

Je moet de Recordset.FindFirst methode gebruiken om een ​​record te maken, het huidige record. U moet dan Recordset.Fields gebruiken om aan te geven naar welk veld u moet kijken.

12345678910111213141516 Sub RecordSet_ReadValue ()Dim onze database als databaseDim onze Recordset als RecordsetStel onzeDatabase = CurrentDb inStel ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset) inMet onzeRecordset.FindFirst "ProductName = " & "'Product CCC'"Als .NoMatch DanMsgBox "Geen overeenkomst gevonden"AndersMsgBox ourRecordset.Fields("ProductCategory")Stop alsEindigt metEinde sub

Het resultaat is:

Een record uit een recordset verwijderen

Om een ​​record uit een Recordset te verwijderen, moet u het eerst het huidige record maken met behulp van de Recordset.FindFirst-methode. U kunt het vervolgens verwijderen met behulp van de Recordset.Delete-methode. De volgende code laat zien hoe u record 2 in de dataset verwijdert:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Dim onze database als databaseDim onze Recordset als RecordsetStel onzeDatabase = CurrentDb inStel ourRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset) inMet onzeRecordset.FindFirst "ProductName = " & "'Product BBB'"Als .NoMatch DanMsgBox "Geen overeenkomst gevonden"AndersonzeRecordset.VerwijderenStop alsEindigt met'Tafel heropenen'DoCmd.AcTable sluiten, "ProductsT"DoCmd.OpenTable "ProductenT"Einde sub

Het resultaat is:

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave