Pasiekite VBA įrašų rinkinius - atidaryti, skaičiuoti, kartoti ir dar daugiau

Šioje pamokoje mes išmoksime atidaryti įrašų rinkinį, suskaičiuoti įrašų skaičių įrašų rinkinyje, pereiti prie įrašų rinkinio, pridėti įrašą, atnaujinti įrašą, perskaityti įrašo vertę ir ištrinti įrašą.

Turime prieigos lentelę, pavadintą „ProductsT“, parodyta žemiau:

Įrašų rinkinio atidarymas

Pirmiausia turime sukurti duomenų bazę, kurią ketiname naudoti, šiuo atveju tai šiuo metu atidaryta duomenų bazė. Tada galime naudoti „CurrentDB.OpenRecordSet“ metodą savo įrašų rinkiniui atidaryti/sukurti.

Norėdami sukurti įrašų rinkinį, kuris leistų mums manipuliuoti lentelės „ProductsT“ duomenimis, naudosime šį kodą:

1 CurrentDb.OpenRecordset ("ProduktaiT")

Įrašų skaičiavimas naudojant VBA

Sukūrę įrašų rinkinį, greičiausiai norėtumėte su juo padaryti kažką naudingo arba tam tikru būdu manipuliuoti jame esančiais duomenimis. Galite suskaičiuoti duomenų rinkinio įrašų skaičių (šiuo atveju lentelę, pavadintą „ProductsT“) naudodami šį kodą:

1 „MsgBox CurrentDb.OpenRecordset“ („ProductsT“). „RecordCount“

„RecordSet“ perjungimas naudojant VBA

Šis įrašas perkeliamas per mūsų įrašų rinkinį:

1234567891011121314 Antrasis įrašasSet_Loop ()Užtemdykite mūsų duomenų bazę kaip duomenų bazęUžtemdyti mūsų įrašų rinkinį kaip įrašų rinkinįNustatykite ourDatabase = CurrentDbNustatykite ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Atlikite iki mūsų įrašų.EOF„MsgBox ourRecordset! ProductID“ourRecordset.MoveNextKilpaPabaiga Sub

Įrašo pridėjimas prie įrašų rinkinio

Norėdami pridėti naują įrašą prie įrašų rinkinio, naudokite metodą Recordset.AddNew:

1234567891011121314 Antrasis įrašasSet_Add ()Su „CurrentDb.OpenRecordset“ („ProductsT“).Pridėti naują! [Produkto ID] = 8! [ProductName] = "Produktas HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Žaislai"! [UnitsInStock] = 15.AtnaujintiPabaiga suPabaiga Sub

Rezultatas yra toks:

Įrašų rinkinio atnaujinimas

Turite naudoti metodą Recordset.AddNew arba Recordset.Edit. Po šio teiginio turite naudoti Recordset.Update metodą, kad išsaugotumėte pakeitimus.

Vertybių skaitymas iš įrašo

Norėdami įrašyti dabartinį įrašą, turite naudoti metodą Recordset.FindFirst. Tada turite naudoti Recordset.Fields, kad nurodytumėte, į kurį lauką žiūrėti.

12345678910111213141516 Sub RecordSet_ReadValue ()Užtemdykite mūsų duomenų bazę kaip duomenų bazęUžtemdyti mūsų įrašų rinkinį kaip įrašų rinkinįNustatykite ourDatabase = CurrentDbNustatykite ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Tipas: = RecordsetTypeEnum.dbOpenDynaset)Su mūsų įrašų rinkiniu.FindFirst "ProductName =" & "'Produkto CCC'"Jei .NoMatch Tada„MsgBox“ nerastas atitikmuoKitas„MsgBox ourRecordset.Fields“ („Produktų kategorija“)Pabaiga JeiPabaiga suPabaiga Sub

Rezultatas yra toks:

Įrašo ištrynimas iš įrašų rinkinio

Norėdami ištrinti įrašą iš įrašų rinkinio, pirmiausia turite padaryti jį dabartiniu, naudodami metodą Recordset.FindFirst. Tada galite jį ištrinti naudodami Recordset.Delete metodą. Šis kodas parodo, kaip ištrinti 2 duomenų rinkinio įrašą:

1234567891011121314151617181920212223 Antrasis įrašasSet_DeleteRecord ()Užtemdykite mūsų duomenų bazę kaip duomenų bazęUžtemdyti mūsų įrašų rinkinį kaip įrašų rinkinįNustatykite ourDatabase = CurrentDbNustatykite ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Tipas: = RecordsetTypeEnum.dbOpenDynaset)Su mūsų įrašų rinkiniu.FindFirst "ProductName =" & "'Product BBB'"Jei .NoMatch Tada„MsgBox“ nerastas atitikmuoKitasourRecordset.DeletePabaiga JeiPabaiga su“Iš naujo atidarykite staląDoCmd.Uždaryti lentelę, "ProductsT"DoCmd.OpenTable "ProductsT"Pabaiga Sub

Rezultatas yra toks:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave