Ebben az oktatóanyagban megtanuljuk, hogyan kell megnyitni egy rekordkészletet, megszámolni a rekordok számát a rekordkészletben, végiglapozni a rekordkészletet, hozzáadni egy rekordot, frissíteni egy rekordot, elolvasni egy értéket egy rekordból és törölni egy rekordot.
Van egy hozzáférési táblázatunk, az alábbiakban látható ProductsT néven:
Rekordkészlet megnyitása
Először létre kell hoznunk a használni kívánt adatbázist, ebben az esetben ez a jelenleg megnyitott adatbázis. Ezután használhatjuk a CurrentDB.OpenRecordSet metódust a rekordkészletünk megnyitásához/létrehozásához.
Annak érdekében, hogy létrehozzunk egy rekordkészletet, amely lehetővé teszi számunkra, hogy manipuláljuk a ProductsT nevű táblázat adatait, a következő kódot használjuk:
1 | CurrentDb.OpenRecordset ("ProductsT") |
Rekordok számának számlálása VBA segítségével
Miután létrehozott egy rekordkészletet, több mint valószínű, hogy szeretne valami hasznosat tenni vele, vagy valamilyen módon manipulálni a benne lévő adatokat. A következő kód használatával megszámolhatja az adathalmaz rekordjainak számát (ebben az esetben a ProductsT nevű táblázatot):
1 | MsgBox CurrentDb.OpenRecordset ("ProductsT"). RecordCount |
Looping a RecordSet -en VBA használatával
A következő kód a RecordSet -en keresztül halad:
1234567891011121314 | Sub RecordSet_Loop ()Dimenzió az adatbázisunkat adatbáziskéntDim aRecordset mint RecordsetÁllítsa be a OurDatabase = CurrentDbÁllítsa be ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Tedd a OurRecordset.EOF -igMsgBox ourRecordset! ProductIDourRecordset.MoveNextHurokEnd Sub |
VBA programozás | A kódgenerátor működik az Ön számára!
Rekord hozzáadása a RecordSet -hez
A Recordset.AddNew módszerrel adjon hozzá új rekordot a RecordSethez:
1234567891011121314 | Sub RecordSet_Add ()A CurrentDb.OpenRecordset segítségével ("ProductsT").Új hozzáadása! [Termékazonosító] = 8! [ProductName] = "Termék HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Játékok"! [UnitsInStock] = 15.FrissítésVége ezzelEnd Sub |
Az eredmény:
Rekordkészlet frissítése
A Recordset.AddNew vagy a Recordset.Edit metódust kell használnia. Ezen állítás után a Recordset.Update metódust kell használnia a módosítások megtartásához.
Értékek olvasása rekordból
A Recordset.FindFirst metódust kell használni a rekord, az aktuális rekord létrehozásához. Ezután a Recordset.Fields használatával kell megadni, hogy melyik mezőt kell nézni.
12345678910111213141516 | Sub RecordSet_ReadValue ()Dimenzió az adatbázisunkat adatbáziskéntDim aRecordset mint RecordsetÁllítsa be a OurDatabase = CurrentDbÁllítsa be ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)A mi Rekordkészletünkkel.FindFirst "ProductName =" & "'Product CCC'"Ha .NoMatch thenMsgBox "Nincs találat"MásMsgBox ourRecordset.Fields ("ProductCategory")Vége HaVége ezzelEnd Sub |
Az eredmény:
Unod már a VBA kódpéldák keresését? Próbálja ki az AutoMacro -t!
Rekord törlése rekordkészletből
Annak érdekében, hogy töröljön egy rekordot egy rekordkészletből, először a jelenlegi rekordnak kell lennie a Recordset.FindFirst módszerrel. Ezt követően törölheti a Recordset.Delete módszerrel. A következő kód bemutatja, hogyan lehet törölni a 2. rekordot az adatkészletből:
1234567891011121314151617181920212223 | Sub RecordSet_DeleteRecord ()Dimenzió az adatbázisunkat adatbáziskéntDim aRecordset mint RecordsetÁllítsa be a OurDatabase = CurrentDbÁllítsa be ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)A mi Rekordkészletünkkel.FindFirst "ProductName =" & "'Product BBB'"Ha .NoMatch thenMsgBox "Nincs találat"MásmiRecordset.DeleteVége HaVége ezzel-Nyissa ki újra az asztaltDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProductsT"End Sub |
Az eredmény: