U ovom ćemo vodiču naučiti kako otvoriti skup zapisa, prebrojati broj zapisa u skupu zapisa, proći kroz skup zapisa, dodati zapis, ažurirati zapis, pročitati vrijednost iz zapisa i izbrisati zapis.
Imamo tablicu pristupa, koja se naziva ProductsT, prikazana u nastavku:
Otvaranje skupa zapisa
Prvo moramo uspostaviti bazu podataka koju namjeravamo koristiti, u ovom slučaju to je trenutno otvorena baza podataka. Zatim možemo upotrijebiti metodu CurrentDB.OpenRecordSet za otvaranje/stvaranje našeg skupa zapisa.
Kako bismo stvorili skup zapisa koji će nam omogućiti manipulaciju podacima u tablici pod nazivom ProductsT, upotrijebili bismo sljedeći kod:
1 | CurrentDb.OpenRecordset ("ProizvodiT") |
Brojanje broja zapisa pomoću VBA
Nakon što ste stvorili skup zapisa, vjerojatno biste htjeli učiniti nešto korisno s njim ili na neki način manipulirati podacima u njemu. Broj zapisa u vašem skupu podataka (u ovom slučaju tablicu pod nazivom ProductsT) možete izbrojati pomoću sljedećeg koda:
1 | MsgBox CurrentDb.OpenRecordset ("ProizvodiT"). RecordCount |
Ponavljanje kroz RecordSet pomoću VBA
Sljedeći kôd prolazi kroz naš RecordSet:
1234567891011121314 | Sub RecordSet_Loop ()Zatamnite našu bazu podataka kao bazu podatakaZatamnite našRecordset kao RecordsetPostavite našu bazu podataka = CurrentDbPostavite ourRecordset = ourDatabase.OpenRecordset ("ProizvodiT")Učinite sve do našegRecordset.EOFMsgBox našRecordset! ProductIDnašRecordset.MoveNextPetljaKraj podm |
VBA programiranje | Generator koda radi za vas!
Dodavanje zapisa u RecordSet
Pomoću metode Recordset.AddNew dodajte novi zapis u RecordSet:
1234567891011121314 | Sub RecordSet_Add ()S CurrentDb.OpenRecordset ("ProizvodiT").Dodaj novi! [ID proizvoda] = 8! [ProductName] = "HHH proizvoda"! [ProductPricePerUnit] = 10! [ProductCategory] = "Igračke"! [UnitsInStock] = 15.AžuriranjeZavrši sKraj podm |
Rezultat je:
Ažuriranje skupa zapisa
Morate koristiti metodu Recordset.AddNew ili Recordset.Edit. Nakon ove izjave morate koristiti metodu Recordset.Update kako biste zadržali promjene.
Očitavanje vrijednosti iz zapisa
Morate koristiti metodu Recordset.FindFirst za izradu zapisa, trenutnog zapisa. Zatim morate upotrijebiti Recordset.Fields da navedete koje polje želite pogledati.
12345678910111213141516 | Sub RecordSet_ReadValue ()Zatamnite našu bazu podataka kao bazu podatakaZatamnite našRecordset kao RecordsetPostavite našu bazu podataka = CurrentDbPostavite ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Vrsta: = RecordsetTypeEnum.dbOpenDynaset)S našim rekordsetom.FindFirst "ProductName =" & "'CCC proizvoda" "Ako .NoMatch TadaMsgBox "Nije pronađeno podudaranje"DrugoMsgBox ourRecordset.Fields ("ProductCategory")Završi akoZavrši sKraj podm |
Rezultat je:
Umorni ste od traženja primjera VBA koda? Isprobajte AutoMacro!
Brisanje zapisa iz skupa zapisa
Da biste izbrisali zapis iz skupa zapisa, najprije ga učinite trenutnim zapisom pomoću metode Recordset.FindFirst. Zatim ga možete izbrisati pomoću metode Recordset.Delete. Sljedeći kôd pokazuje kako izbrisati zapis 2 u skupu podataka:
1234567891011121314151617181920212223 | Sub RecordSet_DeleteRecord ()Zatamnite našu bazu podataka kao bazu podatakaZatamnite našRecordset kao RecordsetPostavite našu bazu podataka = CurrentDbPostavite ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Vrsta: = RecordsetTypeEnum.dbOpenDynaset)S našim rekordsetom.FindFirst "ProductName =" & "'BBB proizvoda" "Ako .NoMatch TadaMsgBox "Nije pronađeno podudaranje"DrugoourRecordset.DeleteZavrši akoZavrši s'Ponovo otvorite stolDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProizvodiT"Kraj podm |
Rezultat je: