Získejte přístup k sadám záznamů VBA - otevřeno, počítáno, smyčka a další

V tomto tutoriálu se naučíme, jak otevřít sadu záznamů, spočítat počet záznamů v sadě záznamů, procházet sadou záznamů, přidat záznam, aktualizovat záznam, přečíst hodnotu ze záznamu a odstranit záznam.

Máme přístupovou tabulku s názvem ProductsT uvedenou níže:

Otevření sady záznamů

Nejprve musíme vytvořit databázi, kterou hodláme používat, v tomto případě je to aktuálně otevřená databáze. Potom můžeme použít metodu CurrentDB.OpenRecordSet k otevření/vytvoření naší sady záznamů.

Abychom mohli vytvořit sadu záznamů, která nám umožní manipulovat s daty v tabulce s názvem ProductsT, použijeme následující kód:

1 CurrentDb.OpenRecordset ("ProductsT")

Počítání počtu záznamů pomocí VBA

Jakmile vytvoříte sadu záznamů, budete více než pravděpodobné, že byste s ní chtěli udělat něco užitečného nebo nějakým způsobem manipulovat s daty v ní. Počet záznamů ve své datové sadě (v tomto případě tabulce s názvem ProductsT) můžete spočítat pomocí následujícího kódu:

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

Smyčka prostřednictvím sady záznamů pomocí VBA

Následující kód prochází naší sadou záznamů:

1234567891011121314 Dílčí sada záznamů_Smyčka ()Dim naší databázi jako databáziDim ourRecordset as RecordsetNastavte ourDatabase = CurrentDbNastavit ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Dělejte Do ourRecordset.EOFMsgBox ourRecordset! ProductIDourRecordset.MoveNextSmyčkaEnd Sub

Přidání záznamu do sady záznamů

Pomocí metody Recordset.AddNew přidejte do RecordSet nový záznam:

1234567891011121314 Dílčí sada záznamů_Add ()S CurrentDb.OpenRecordset ("ProductsT").Přidat nový! [ProductID] = 8! [ProductName] = "Produkt HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Hračky"! [UnitsInStock] = 15.AktualizaceKonec sEnd Sub

Výsledek je:

Aktualizace sady záznamů

Musíte použít metodu Recordset.AddNew nebo Recordset.Edit. Po tomto prohlášení musíte použít metodu Recordset.Update, aby změny zůstaly zachovány.

Čtení hodnot ze záznamu

K vytvoření záznamu, aktuálního záznamu, musíte použít metodu Recordset.FindFirst. Potom musíte použít Recordset.Fields k určení, na které pole se podívat.

12345678910111213141516 Sub RecordSet_ReadValue ()Dim naší databázi jako databáziDim ourRecordset as RecordsetNastavte ourDatabase = CurrentDbNastavit ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)S naší sadou záznamů.FindFirst "ProductName =" & "'Produkt CCC'"Pokud .NoMatch ThenMsgBox „Nebyla nalezena shoda“JinýMsgBox ourRecordset.Fields („ProductCategory“)Konec IfKonec sEnd Sub

Výsledek je:

Odstranění záznamu ze sady záznamů

Chcete -li odstranit záznam ze sady záznamů, musíte z něj nejprve vytvořit aktuální záznam pomocí metody Recordset.FindFirst. Potom jej můžete odstranit pomocí metody Recordset.Delete. Následující kód ukazuje, jak odstranit záznam 2 v datové sadě:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Dim naší databázi jako databáziDim ourRecordset as RecordsetNastavte ourDatabase = CurrentDbNastavit ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)S naší sadou záznamů.FindFirst "ProductName =" & "'Produkt BBB'"Pokud .NoMatch ThenMsgBox „Nebyla nalezena shoda“JinýourRecordset.DeleteKonec IfKonec s„Znovu otevřete stůlDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProductsT"End Sub

Výsledek je:

wave wave wave wave wave