Š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 |
VBA programavimas | Kodo generatorius jums tinka!
Į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:
Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!
Į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: