Con trỏ trong VBA Access

Duy chuyển vị trí bảng ghi trong bộ nhớ đó là cách mô tả từ con trỏ trong vba cũng như các ngôn ngữ lập trình khác.

  1. Con trỏ là gì
  2. Di chuyển con trỏ trong Recordset
  3. Kiểm tra vị trí con trỏ
  4. Cập nhật dữ liệu với con trỏ
  5. Chuyển đến vị trí bất kỳ
  6. Đóng Recordset

1. Con trỏ là gì

Trong VBA, con trỏ là một khái niệm ám chỉ một cơ chế giúp quản lý và thao tác với dữ liệu trong các tập hợp, như tập hợp các bản ghi (Recordset) trong cơ sở dữ liệu.

Con trỏ được sử dụng để

    Theo dõi vị trí hiện tại trong tập dữ liệu hoặc tập hợp.
    Di chuyển qua các mục (bản ghi, đối tượng) trong tập hợp.
    Truy cập và thao tác trên mục được chỉ định bởi con trỏ.

Ví dụ:
Trong một Recordset, con trỏ giúp di chuyển giữa các bản ghi bằng các lệnh như .MoveNext, .MoveFirst, hoặc .Find.

2. Di chuyển con trỏ trong Recordset

 Sử dụng các phương thức sau để di chuyển qua các bản ghi:

Phương thức Mô tả
.MoveFirst Di chuyển đến bản ghi đầu tiên.
.MoveLast Di chuyển đến bản ghi cuối cùng.
.MoveNext Di chuyển đến bản ghi tiếp theo.
.MovePrevious Di chuyển đến bản ghi trước đó.

Ví dụ sử dụng con trỏ

   Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Employees")

If Not rs.EOF Then
    rs.MoveFirst
    Do Until rs.EOF
        Debug.Print rs!Employe eName ' In tên nhân viên
        rs.MoveNext
    Loop
End If

rs.Close
Set rs = Nothing

3. Kiểm tra vị trí con trỏ

Trước khi thao tác trên Recordset, nên kiểm tra trạng thái con trỏ:
Thuộc tính    Mô tả
.EOF    Trả về True nếu con trỏ đã vượt qua bản ghi cuối cùng.
.BOF    Trả về True nếu con trỏ ở trước bản ghi đầu tiên.

Ví dụ về kiểm tra con trỏ

   If rs.EOF Then
    MsgBox "Không có bản ghi nào trong Recordset"
End If

4. Cập nhật dữ liệu với con trỏ

Thêm bản ghi với con trỏ

   rs.AddNew
rs!FieldName = "New Value"
rs.Update

Chỉnh sửa bản ghi

rs.Edit
rs!FieldName = "Updated Value"
rs.Update

Xóa bản ghi

  rs.Delete
    rs.MoveNext

5. Chuyển đến vị trí bất kỳ

    Di chuyển đến một vị trí cụ thể:

rs.AbsolutePosition = 5 ' Di chuyển đến bản ghi thứ 5

Tìm kiếm bản ghi

  rs.FindFirst "FieldName = 'Value'"
If Not rs.NoMatch Then
    Debug.Print "Tìm thấy bản ghi."
End If

5. Đóng Recordset

Luôn đóng Recordset khi không còn sử dụng để giải phóng tài nguyên

rs.Close
Set rs = Nothing

 

 

Tìm kiếm:

Bài viết liên quan:

Duy chuyển vị trí bảng ghi trong bộ nhớ đó là cách mô tả từ con trỏ trong vba cũng như các ngôn ngữ lập trình khác.