Piekļūstiet VBA ierakstu kopām - atvērts, saskaitīts, cilpas un citi

Šajā apmācībā mēs uzzināsim, kā atvērt ierakstu kopu, saskaitīt ierakstu skaitu ierakstu kopā, pārvietoties pa ierakstu kopu, pievienot ierakstu, atjaunināt ierakstu, nolasīt vērtību no ieraksta un dzēst ierakstu.

Mums ir piekļuves tabula ar nosaukumu ProductsT, kas parādīta zemāk:

Ierakstu kopas atvēršana

Vispirms mums jāizveido datu bāze, kuru plānojam izmantot, šajā gadījumā tā ir pašlaik atvērtā datu bāze. Pēc tam mēs varam izmantot metodi CurrentDB.OpenRecordSet, lai atvērtu/izveidotu mūsu ierakstu kopu.

Lai izveidotu ierakstu kopu, kas ļaus mums manipulēt ar datiem tabulā ar nosaukumu ProductsT, mēs izmantosim šādu kodu:

1 CurrentDb.OpenRecordset ("ProductsT")

Ierakstu skaita skaitīšana, izmantojot VBA

Kad esat izveidojis ierakstu kopu, jūs, visticamāk, vēlētos ar to darīt kaut ko noderīgu vai kaut kādā veidā manipulēt ar tajā esošajiem datiem. Jūs varat saskaitīt datu kopas ierakstu skaitu (šajā gadījumā tabulu ar nosaukumu ProductsT), izmantojot šādu kodu:

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

Atkārtota ierakstu kopa, izmantojot VBA

Izmantojot mūsu ierakstu kopu, tiek ievadīts šāds kods:

1234567891011121314 Apakšraksts RecordSet_Loop ()Izgaismojiet mūsu datu bāzi kā datu bāziAptumšojiet mūsu ierakstus kā ierakstuIestatiet ourDatabase = CurrentDbIestatiet ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Vai līdz mūsu ierakstam.EOFMsgBox ourRecordset! ProductIDourRecordset.MoveNextCilpaBeigu apakš

Ieraksta pievienošana RecordSet

Izmantojiet metodi Recordset.AddNew, lai RecordSet pievienotu jaunu ierakstu:

1234567891011121314 Apakš ierakstsSet_Add ()Ar CurrentDb.OpenRecordset ("ProductsT").Pievieno jaunu! [Produkta ID] = 8! [ProductName] = "Produkts HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Rotaļlietas"! [UnitsInStock] = 15.AtjauninātBeigt arBeigu apakš

Rezultāts ir šāds:

Ierakstu kopas atjaunināšana

Jums jāizmanto metode Recordset.AddNew vai Recordset.Edit. Pēc šī paziņojuma jums jāizmanto metode Recordset.Update, lai saglabātu izmaiņas.

Vērtību lasīšana no ieraksta

Lai izveidotu ierakstu, pašreizējais ieraksts ir jāizmanto metode Recordset.FindFirst. Pēc tam jums jāizmanto Recordset.Fields, lai norādītu, kuru lauku apskatīt.

12345678910111213141516 Sub RecordSet_ReadValue ()Izgaismojiet mūsu datu bāzi kā datu bāziAptumšojiet mūsu ierakstus kā ierakstuIestatiet ourDatabase = CurrentDbIestatiet ourRecordset = ourDatabase.OpenRecordset ("ProductsT", tips: = RecordsetTypeEnum.dbOpenDynaset)Ar mūsu ierakstu kopu.FindFirst "ProductName =" & "'Product CCC'"Ja .NoMatch TadMsgBox "Nav atrasta atbilstība"CitādiMsgBox ourRecordset.Fields ("ProductCategory")Beigas JaBeigt arBeigu apakš

Rezultāts ir šāds:

Ieraksta dzēšana no ierakstu kopas

Lai izdzēstu ierakstu no ierakstu kopas, vispirms tas jāpadara par pašreizējo ierakstu, izmantojot metodi Recordset.FindFirst. Pēc tam varat to izdzēst, izmantojot metodi Recordset.Delete. Šis kods parāda, kā datu kopā izdzēst 2. ierakstu:

1234567891011121314151617181920212223 Apakš ierakstsSet_DeleteRecord ()Izgaismojiet mūsu datu bāzi kā datu bāziAptumšojiet mūsu ierakstus kā ierakstuIestatiet ourDatabase = CurrentDbIestatiet ourRecordset = ourDatabase.OpenRecordset ("ProductsT", tips: = RecordsetTypeEnum.dbOpenDynaset)Ar mūsu ierakstu kopu.FindFirst "ProductName =" & "'Product BBB'"Ja .NoMatch TadMsgBox "Nav atrasta atbilstība"CitādiourRecordset.DeleteBeigas JaBeigt ar'Atvērt galduDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProductsT"Beigu apakš

Rezultāts ir šāds:

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave