24/05/2018, 17:16

Sử dụng các phương thức của đối tượng RecordSet đề duyệt các bản ghi

Như đã giới thiệu ở phần 5, các textbox có thể hiển thị một trường dữ liệu của một bản ghi và khi con trỏ bản ghi thay đổi thì dữ liệu trong các textbox cũng tự động được cập nhật theo. Trong phần này sẽ hướng dẫn cách kết hợp với các phương thức MoveFirst, ...

Như đã giới thiệu ở phần 5, các textbox có thể hiển thị một trường dữ liệu của một bản ghi và khi con trỏ bản ghi thay đổi thì dữ liệu trong các textbox cũng tự động được cập nhật theo. Trong phần này sẽ hướng dẫn cách kết hợp với các phương thức MoveFirst, MoveNext, MovePrevious, MoveLAst của đối tượng RecordSet để xem lần lượt tất cả các bản ghi trong bảng CSDL mà không cần đến đối tượng DataGrid.

Các bước tiến hành:

  • Thiết kế giao diện: Thêm các điều khiển và bố trí (Layout) như hình H.24
Giao diện trước khi đặt tên và caption

Mẹo nhỏ: Có thể dóng thẳng hàng và đặt kích thước các điều khiển cho bằng nhau bằng cách chọn một nhóm các điều khiển và chọn Menu Format→Align, Make same…

Đặt các thuộc tính cho các control như sau:

Control Thuộc tính name mới Caption/text ToolTips
Label1
Label1
Label1
Label1
Label1
Số BD
Họ và tên
Toán
Hoá
Textbox1 txtSoBD
Textbox2 txtHoVaTen
Textbox3 txtToan
Textbox4 txtLy
Textbox5 txtHoa
Command1 cmdFirst |<< Về bản ghi đầu tiên
Command2 cmdPrevious << Về bản ghi trước
Command3 cmdNext >> Bản ghi tiếp
Command4 cmdLAst >>| Bản ghi cuối cùng
Giao diện sau khi đặt tên (Name) và Caption
  • Viết lệnh : Xem trang sau.

Toàn bộ chương trình nguồn

  • Chạy chương trình: Nhấn F5 và click vào các nút trên màn hình.

Kết quả chạy chương trình

Một số chú ý:

  • Các phương thức MoveFirst, MoveLAst, MoveNext, MovePrevious chỉ làm việc tốt nếu con trỏ bản ghi không ở vị trí BOF và EOF, do vậy để tránh các lỗi xảy ra thì trước khi di chuyển cần phải kiểm tra, Ví dụ : Trước khi di chuyển về bản ghi tiếp theo (Next) thì ta cần viết câu lệnh sau:

If adoBangDiem.Recordset.EOF= False Then adoBangDiem.Recordset.MoveNext

  • Có thể sửa đổi nội dung trong các textbox, sau đó di chuyển sang bản ghi khác thì nội dung vừa sửa đổi sẽ được cập nhật ngay vào trong bảng CSDL.
0