Dostop do naborov zapisov VBA - odprto, štetje, zanko in drugo

V tej vadnici se bomo naučili, kako odpreti nabor zapisov, šteti število zapisov v naboru zapisov, prečkati niz zapisov, dodati zapis, posodobiti zapis, prebrati vrednost iz zapisa in izbrisati zapis.

Spodaj je prikazana tabela dostopa, imenovana ProductsT:

Odpiranje nabora zapisov

Najprej moramo vzpostaviti bazo podatkov, ki jo nameravamo uporabiti, v tem primeru gre za trenutno odprto bazo podatkov. Nato lahko uporabimo metodo CurrentDB.OpenRecordSet za odpiranje/ustvarjanje našega nabora zapisov.

Za izdelavo nabora zapisov, ki nam bo omogočal manipulacijo s podatki v tabeli, imenovani ProductsT, bi uporabili naslednjo kodo:

1 CurrentDb.OpenRecordset ("ProductsT")

Štetje števila zapisov z uporabo VBA

Ko ustvarite nabor zapisov, bi verjetno želeli z njim narediti kaj koristnega ali na nek način manipulirati s podatki v njem. Število zapisov v naboru podatkov (v tem primeru tabelo z naslovom ProductsT) lahko preštejete z naslednjo kodo:

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

Ponavljanje skozi RecordSet z uporabo VBA

Naslednja koda se vrti skozi naš RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Zatemnite našo bazo podatkov kot bazo podatkovZatemnite naš Recordset kot zapis zapisaNastavite našo bazo podatkov = CurrentDbNastavite ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Naredite do našega zapisaRecordset.EOFMsgBox našRecordset! ProductIDourRecordset.MoveNextZankaEnd Sub

Dodajanje zapisa v RecordSet

Z metodo Recordset.AddNew dodajte nov zapis v RecordSet:

1234567891011121314 Sub RecordSet_Add ()S CurrentDb.OpenRecordset ("ProductsT").Dodaj novo! [ProductID] = 8! [ProductName] = "HHH izdelka"! [ProductPricePerUnit] = 10! [ProductCategory] = "Igrače"! [UnitsInStock] = 15.NadgradnjaKončaj sEnd Sub

Rezultat je:

Posodabljanje nabora zapisov

Uporabiti morate metodo Recordset.AddNew ali Recordset.Edit. Po tem stavku morate uporabiti metodo Recordset.Update, da ohranite spremembe.

Branje vrednosti iz zapisa

Za zapis, trenutni zapis, morate uporabiti metodo Recordset.FindFirst. Nato morate z uporabo Recordset.Fields določiti, katero polje si želite ogledati.

12345678910111213141516 Sub RecordSet_ReadValue ()Zatemnite našo bazo podatkov kot bazo podatkovZatemnite naš Recordset kot zapis zapisaNastavite našo bazo podatkov = CurrentDbNastavite našRecordset = ourDatabase.OpenRecordset ("ProductsT", Vrsta: = RecordsetTypeEnum.dbOpenDynaset)Z našim snemalnikom.FindFirst "ProductName =" & "'CCC izdelka" "Če .NoMatch PotemMsgBox "Ni ujemanja"Sicer paMsgBox ourRecordset.Fields ("ProductCategory")Konec ČeKončaj sEnd Sub

Rezultat je:

Brisanje zapisa iz nabora zapisov

Če želite izbrisati zapis iz nabora zapisov, ga morate najprej narediti z metodo Recordset.FindFirst. Nato ga lahko izbrišete z metodo Recordset.Delete. Naslednja koda prikazuje, kako izbrisati zapis 2 v naboru podatkov:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Zatemnite našo bazo podatkov kot bazo podatkovZatemnite naš Recordset kot zapis zapisaNastavite našo bazo podatkov = CurrentDbNastavite našRecordset = ourDatabase.OpenRecordset ("ProductsT", Vrsta: = RecordsetTypeEnum.dbOpenDynaset)Z našim snemalnikom.FindFirst "ProductName =" & "'Izdelek BBB" "Če .NoMatch PotemMsgBox "Ni ujemanja"Sicer panašRecordset.DeleteKonec ČeKončaj s'Znova odpri mizoDoCmd.Close acTable, "ProductsT"DoCmd.OpenTabela "IzdelkiT"End Sub

Rezultat je:

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave