В този урок ще научим как да отворите набор от записи, да преброите броя на записите в набора от записи, да преминете през набора от записи, да добавите запис, да актуализирате записа, да прочетете стойност от запис и да изтриете запис.
Имаме таблица за достъп, наречена 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 |
VBA програмиране | Code Generator работи за вас!
Добавяне на запис към 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 |
Резултатът е:
Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!
Изтриване на запис от набор от записи
За да изтриете запис от набор от записи, първо трябва да го направите като текущ запис, като използвате метода 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 |
Резултатът е: