Truy cập tập bản ghi VBA - Mở, Đếm, Vòng lặp và hơn thế nữa

Trong hướng dẫn này, chúng ta sẽ học cách mở Tập bản ghi, đếm số lượng bản ghi trong Tập bản ghi, lặp qua Tập bản ghi, thêm bản ghi, cập nhật bản ghi, đọc giá trị từ bản ghi và xóa bản ghi.

Chúng tôi có một Bảng truy cập, được gọi là ProductsT được hiển thị bên dưới:

Mở bộ ghi

Đầu tiên chúng ta cần thiết lập cơ sở dữ liệu mà chúng ta dự định sử dụng, trong trường hợp này, nó là cơ sở dữ liệu hiện đang được mở. Sau đó, chúng ta có thể sử dụng phương thức CurrentDB.OpenRecordSet để mở / tạo Recordset của chúng ta.

Để tạo Tập bản ghi cho phép chúng tôi thao tác dữ liệu trong bảng được gọi là ProductsT, chúng tôi sẽ sử dụng mã sau:

1 CurrentDb.OpenRecordset ("ProductsT")

Đếm số lượng bản ghi bằng VBA

Một khi bạn đã tạo Tập bản ghi, nhiều khả năng bạn sẽ muốn làm điều gì đó hữu ích với nó hoặc thao tác dữ liệu trong đó theo một cách nào đó. Bạn có thể đếm số lượng bản ghi trong tập dữ liệu của mình (trong trường hợp này là bảng được gọi là ProductsT) bằng cách sử dụng mã sau:

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

Vòng qua RecordSet bằng VBA

Đoạn mã sau chạy qua RecordSet của chúng tôi:

1234567891011121314 Sub RecordSet_Loop ()Làm mờ cơ sở dữ liệu của chúng tôi dưới dạng cơ sở dữ liệuLàm mờ tập tin từ của chúng tôi thành tập ghiĐặt ourDatabase = CurrentDbĐặt ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Làm cho đến khi ourRecordset.EOFMsgBox ourRecordset! ProductIDourRecordset.MoveNextVòngKết thúc Sub

Thêm bản ghi vào RecordSet

Sử dụng phương thức Recordset.AddNew để thêm một bản ghi mới vào RecordSet:

1234567891011121314 Sub RecordSet_Add ()Với CurrentDb.OpenRecordset ("ProductsT").Thêm mới! [ProductID] = 8! [ProductName] = "Sản phẩm HHH"! [ProductPricePerUnit] = 10! [ProductCategory] = "Đồ chơi"! [UnitsInStock] = 15.Cập nhậtKết thúc vớiKết thúc Sub

Kết quả là:

Cập nhật bộ ghi

Bạn phải sử dụng phương thức Recordset.AddNew hoặc Recordset.Edit. Sau câu lệnh này, bạn phải sử dụng phương thức Recordset.Update để giữ các thay đổi.

Đọc giá trị từ bản ghi

Bạn phải sử dụng phương thức Recordset.FindFirst để tạo một bản ghi, bản ghi hiện tại. Sau đó, bạn phải sử dụng Recordset.Fields để chỉ định trường cần xem.

12345678910111213141516 Sub RecordSet_ReadValue ()Làm mờ cơ sở dữ liệu của chúng tôi dưới dạng cơ sở dữ liệuLàm mờ tập tin từ của chúng tôi thành tập ghiĐặt ourDatabase = CurrentDbĐặt ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)Với OurRecordset.FindFirst "ProductName =" & "'Product CCC'"If .NoMatch ThenMsgBox "Không tìm thấy kết quả phù hợp"KhácMsgBox ourRecordset.Fields ("Danh mục sản phẩm")Kết thúc nếuKết thúc vớiKết thúc Sub

Kết quả là:

Xóa bản ghi khỏi tập bản ghi

Để xóa một bản ghi khỏi Recordset, trước tiên bạn phải đặt nó thành bản ghi hiện tại bằng cách sử dụng phương thức Recordset.FindFirst. Sau đó, bạn có thể xóa nó bằng phương pháp Recordset.Delete. Đoạn mã sau cho biết cách xóa bản ghi 2 trong tập dữ liệu:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Làm mờ cơ sở dữ liệu của chúng tôi dưới dạng cơ sở dữ liệuLàm mờ tập tin từ của chúng tôi thành tập ghiĐặt ourDatabase = CurrentDbĐặt ourRecordset = ourDatabase.OpenRecordset ("ProductsT", Type: = RecordsetTypeEnum.dbOpenDynaset)Với OurRecordset.FindFirst "ProductName =" & "'Sản phẩm BBB'"If .NoMatch ThenMsgBox "Không tìm thấy kết quả phù hợp"KhácourRecordset.DeleteKết thúc nếuKết thúc với'Mở lại bảngDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "Sản phẩmT"Kết thúc Sub

Kết quả là:

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave