Достъп до набори от записи VBA - Отваряне, Преброяване, Цикъл и Повече

В този урок ще научим как да отворите набор от записи, да преброите броя на записите в набора от записи, да преминете през набора от записи, да добавите запис, да актуализирате записа, да прочетете стойност от запис и да изтриете запис.

Имаме таблица за достъп, наречена ProductsT, показана по -долу:

Отваряне на набор от записи

Първо трябва да установим базата данни, която възнамеряваме да използваме, в този случай това е текущо отворената база данни. След това можем да използваме метода CurrentDB.OpenRecordSet, за да отворим/създадем нашия набор от записи.

За да създадем набор от записи, който ще ни позволи да манипулираме данните в таблицата, наречена ProductsT, бихме използвали следния код:

1 CurrentDb.OpenRecordset ("ПродуктиT")

Преброяване на броя записи чрез VBA

След като създадете набор от записи, най -вероятно бихте искали да направите нещо полезно с него или да манипулирате данните в него по някакъв начин. Можете да преброите броя на записите във вашия набор от данни (в този случай таблицата, наречена ProductsT), като използвате следния код:

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

Превръщане през RecordSet с помощта на VBA

Следният код преминава през нашия RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Затъмнете нашата база данни като база данниЗатъмнете нашия запис като набор от записиЗадайте нашата база данни = CurrentDbЗадайте ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Направете До нашия Recordset.EOFMsgBox нашияRecordset! ProductIDourRecordset.MoveNextЦикълEnd Sub

Добавяне на запис към RecordSet

Използвайте метода Recordset.AddNew, за да добавите нов запис към RecordSet:

1234567891011121314 Sub RecordSet_Add ()С CurrentDb.OpenRecordset ("ProductsT").Добави нов! [ProductID] = 8! [ProductName] = "Продукт HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Играчки"! [UnitsInStock] = 15.АктуализиранеКрай сEnd Sub

Резултатът е:

Актуализиране на набор от записи

Трябва да използвате метода Recordset.AddNew или Recordset.Edit. След това изявление трябва да използвате метода Recordset.Update, за да запазите промените.

Четене на стойности от запис

Трябва да използвате метода Recordset.FindFirst, за да направите запис, текущия запис. След това трябва да използвате Recordset.Fields, за да посочите кое поле да гледате.

12345678910111213141516 Sub RecordSet_ReadValue ()Затъмнете нашата база данни като база данниЗатъмнете нашия запис като набор от записиЗадайте нашата база данни = CurrentDbЗадайте ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Тип: = RecordsetTypeEnum.dbOpenDynaset)С нашия запис.FindFirst "ProductName =" & "'CCC на продукта" "Ако .NoMatch ТогаваMsgBox „Не е намерено съвпадение“ИначеMsgBox ourRecordset.Fields ("ProductCategory")Край АкоКрай сEnd Sub

Резултатът е:

Изтриване на запис от набор от записи

За да изтриете запис от набор от записи, първо трябва да го направите като текущ запис, като използвате метода Recordset.FindFirst. След това можете да го изтриете с помощта на метода Recordset.Delete. Следният код показва как да изтриете запис 2 в набора от данни:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Затъмнете нашата база данни като база данниЗатъмнете нашия запис като набор от записиЗадайте нашата база данни = CurrentDbЗадайте ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Тип: = RecordsetTypeEnum.dbOpenDynaset)С нашия запис.FindFirst "ProductName =" & "'Продукт BBB" "Ако .NoMatch ТогаваMsgBox „Не е намерено съвпадение“ИначеourRecordset.DeleteКрай АкоКрай с„Отворете отново таблицатаDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ПродуктиT"End Sub

Резултатът е:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave