Prístup k sadám záznamov VBA - otvorené, počítané, slučky a ďalšie

V tomto tutoriále sa naučíme, ako otvoriť sadu záznamov, spočítať počet záznamov v sade záznamov, prechádzať sadou záznamov, pridať záznam, aktualizovať záznam, prečítať hodnotu zo záznamu a vymazať záznam.

Nasleduje tabuľka prístupov s názvom ProductsT:

Otvorenie sady záznamov

Najprv musíme vytvoriť databázu, ktorú plánujeme používať, v tomto prípade je to aktuálne otvorená databáza. Potom môžeme použiť metódu CurrentDB.OpenRecordSet na otvorenie/vytvorenie našej sady záznamov.

Na vytvorenie sady záznamov, ktorá nám umožní manipulovať s údajmi v tabuľke s názvom ProductsT, by sme použili nasledujúci kód:

1 CurrentDb.OpenRecordset ("ProductsT")

Počítanie počtu záznamov pomocou VBA

Keď vytvoríte sadu záznamov, viac ako pravdepodobne by ste s ňou chceli urobiť niečo užitočné alebo nejakým spôsobom manipulovať s údajmi v nej. Počet záznamov vo svojej množine údajov (v tomto prípade tabuľka s názvom ProductsT) môžete spočítať pomocou nasledujúceho kódu:

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

Prechádzka po súprave RecordSet pomocou VBA

Nasledujúci kód prechádza našou sadou záznamov:

1234567891011121314 Sub RecordSet_Loop ()Dim našej databázy ako databázyDim ourRecordset as RecordsetNastaviť našu databázu = CurrentDbNastaviť ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Vykonajte Do ourRecordset.EOFMsgBox ourRecordset! ProductIDourRecordset.MoveNextSlučkaKoniec pod

Pridanie záznamu do sady záznamov

Na pridanie nového záznamu do sady záznamov použite metódu Recordset.AddNew:

1234567891011121314 Vedľajšia sada záznamov_pridať ()S CurrentDb.OpenRecordset („ProductsT“).Pridať nové! [ProductID] = 8! [ProductName] = "Produkt HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Hračky"! [UnitsInStock] = 15.AktualizáciaUkončiť sKoniec pod

Výsledkom je:

Aktualizácia sady záznamov

Musíte použiť metódu Recordset.AddNew alebo Recordset.Edit. Po tomto vyhlásení musíte použiť metódu Recordset.Update, aby sa zmeny zachovali.

Čítanie hodnôt zo záznamu

Na vytvorenie záznamu, aktuálneho záznamu, musíte použiť metódu Recordset.FindFirst. Potom musíte použiť Recordset.Fields na zadanie poľa, na ktoré sa chcete pozrieť.

12345678910111213141516 Sub RecordSet_ReadValue ()Dim našej databázy ako databázyDim ourRecordset as RecordsetNastaviť našu databázu = CurrentDbNastaviť ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)S našou sadou záznamov.FindFirst "ProductName =" & "'Produkt CCC'"Ak .NoMatch ThenMsgBox „Nenašla sa žiadna zhoda“InakMsgBox ourRecordset.Fields („ProductCategory“)Koniec AkUkončiť sKoniec pod

Výsledkom je:

Odstránenie záznamu zo sady záznamov

Ak chcete odstrániť záznam zo sady záznamov, musíte z neho najskôr urobiť aktuálny záznam pomocou metódy Recordset.FindFirst. Potom ho môžete odstrániť pomocou metódy Recordset.Delete. Nasledujúci kód ukazuje, ako odstrániť záznam 2 v množine údajov:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Dim našej databázy ako databázyDim ourRecordset as RecordsetNastaviť našu databázu = CurrentDbNastaviť ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)S našou sadou záznamov.FindFirst "ProductName =" & "'Produkt BBB'"Ak .NoMatch ThenMsgBox „Nenašla sa žiadna zhoda“InakourRecordset.DeleteKoniec AkUkončiť s„Znova otvorte stôlDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProductsT"Koniec pod

Výsledkom je:

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave