Accesați seturi de înregistrări VBA - Deschis, Număr, Buclă și multe altele

În acest tutorial, vom învăța cum să deschidem un set de înregistrări, să numărăm numărul de înregistrări din setul de înregistrări, să parcurgem setul de înregistrări, să adăugăm o înregistrare, să actualizăm o înregistrare, să citim o valoare dintr-o înregistrare și să ștergem o înregistrare.

Avem un tabel de acces, denumit ProductsT prezentat mai jos:

Deschiderea unui set de înregistrări

Mai întâi trebuie să stabilim baza de date pe care intenționăm să o folosim, în acest caz este baza de date deschisă în prezent. Putem apoi folosi metoda CurrentDB.OpenRecordSet pentru a deschide / crea setul nostru de înregistrări.

Pentru a crea un set de înregistrări care ne va permite să manipulăm datele din tabelul numit ProductsT, am folosi următorul cod:

1 CurrentDb.OpenRecordset ("ProductsT")

Numărarea numărului de înregistrări folosind VBA

Odată ce ați creat un set de înregistrări, ați dori mai mult decât probabil să faceți ceva util cu acesta sau să manipulați datele din el într-un fel. Puteți număra numărul de înregistrări din setul dvs. de date (în acest caz tabelul numit ProductsT) utilizând următorul cod:

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

Buclarea printr-un RecordSet folosind VBA

Următorul cod trece prin RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Reduceți baza noastră de date ca bază de dateReduceți setul nostru de înregistrări ca set de înregistrăriSetați baza noastră de date = CurrentDbSetați ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Faceți până la setul nostru de înregistrări.EOFMsgBox setul nostru de înregistrări! ProductIDnoastreRecordset.MoveNextBuclăSfârșitul Sub

Adăugarea unei înregistrări la un set de înregistrări

Utilizați metoda Recordset.AddNew pentru a adăuga o nouă înregistrare la RecordSet:

1234567891011121314 Sub RecordSet_Add ()Cu CurrentDb.OpenRecordset („ProductsT”).Adăuga nou! [ProductID] = 8! [ProductName] = "Produs HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Jucării"! [UnitsInStock] = 15.ActualizațiSe termina cuSfârșitul Sub

Rezultatul este:

Actualizarea unui set de înregistrări

Trebuie să utilizați metoda Recordset.AddNew sau Recordset.Edit. După această declarație, trebuie să utilizați metoda Recordset.Update pentru a păstra modificările.

Citirea valorilor dintr-o înregistrare

Trebuie să utilizați metoda Recordset.FindFirst pentru a face o înregistrare, înregistrarea curentă. Apoi, trebuie să utilizați Recordset.Fields pentru a specifica ce câmp să priviți.

12345678910111213141516 Sub RecordSet_ReadValue ()Reduceți baza noastră de date ca bază de dateReduceți setul nostru de înregistrări ca set de înregistrăriSetați baza noastră de date = CurrentDbSetați ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)Cu setul nostru de înregistrări.FindFirst "ProductName =" & "'CCC produs" "Dacă .NoMatch AtunciMsgBox „Nu s-a găsit nicio potrivire”AltfelMsgBox ourRecordset.Fields („ProductCategory”)End IfSe termina cuSfârșitul Sub

Rezultatul este:

Ștergerea unei înregistrări dintr-un set de înregistrări

Pentru a șterge o înregistrare dintr-un set de înregistrări, trebuie mai întâi să o faceți înregistrarea curentă utilizând metoda Recordset.FindFirst. Apoi îl puteți șterge folosind metoda Recordset.Delete. Următorul cod arată cum să ștergeți înregistrarea 2 din setul de date:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Reduceți baza noastră de date ca bază de dateReduceți setul nostru de înregistrări ca set de înregistrăriSetați baza noastră de date = CurrentDbSetați ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)Cu setul nostru de înregistrări.FindFirst "ProductName =" & "'Produs BBB'"Dacă .NoMatch AtunciMsgBox „Nu s-a găsit nicio potrivire”Altfelsetul nostru de înregistrări. ȘtergețiEnd IfSe termina cu'Deschide din nou masaDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProductsT"Sfârșitul Sub

Rezultatul este:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave