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: