- Deschiderea unui set de înregistrări
- Numărarea numărului de înregistrări folosind VBA
- Buclarea printr-un RecordSet folosind VBA
- Adăugarea unei înregistrări la un set de înregistrări
- Actualizarea unui set de înregistrări
- Citirea valorilor dintr-o înregistrare
- Ștergerea unei înregistrări dintr-un set de înregistrări
Î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 |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
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:
V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!
Ș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: