LỚP CNTT 2 - 2007
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Tao subform o dang datasheet

Go down

Tao subform o dang datasheet Empty Tao subform o dang datasheet

Post  Admin 4/12/2007, 10:07

Tạo subform ở dạng datasheet trong Access
Hỏi: Tôi muốn thiết kế một form có liên kết với lưới ở phía dưới, sao cho khi bấm các nút di chuyển (đầu, cuối, tới, trở về), con trỏ ở lưới chỉ ở đâu thì mẩu tin đó hiện trên form.

Trả lời: Lưới mà bạn đề cập chính là dạng datasheet của một form. Do vậy, hình thức form mà bạn muốn thiết kế có dạng một main form/subform, trong đó subform chính là datasheet. Bạn có thể sử dụng thuộc tính Filter và FilterOn của main form để lọc dữ liệu (theo một field định trước) xuất hiện trên dòng hiện hành của datasheet.

Để dễ hình dung, bạn hãy mở database có tên NWind.MDB (hoặc NorthWind.MDB) có sẵn trong Access. Trong database này có một table tên Customers. Ta sẽ thiết kế một form như hình 1. Mỗi lần người dùng bấm vào một dòng ở datasheet bên dưới, thông tin bên trên được lọc chỉ còn đúng một record có trị của field CustomerID bằng với trị của cột Customer ID tương ứng trong datasheet bên dưới. Cách làm như sau:

1. Thiết kế query có tên qryCustomers như hình 2.

2. Sử dụng Form Wizard để thiết kế subform có kiểu Datasheet với thuộc tính Record Source là table có tên Customers. Đặt tên form là subfrmCustomers.

3. Sử dụng Form Wizard để thiết kế main form có kiểu Columnar với thuộc tính Record Source là query có tên qryCustomers. Đặt tên form là frmCustomers. Trên form này, vẽ một subform (không sử dụng Wizard) có thuộc tính Source Object là subfrmCustomers. Không sử dụng các thuộc tính Link Child Fields và Link Master Fields.

4. Đóng form frmCustomers, mở form subfrmCustomers và gõ đoạn mã 1 vào thủ tục xử lý tình huống On Current:

Đoạn mã 1

Private Sub Form_Current()
[Forms]![frmCustomers].Filter = "CustomerID = '" & Me.CustomerID & "'"
[Forms]![frmCustomers].FilterOn = True
End Sub

Hình 1

Hình 2
Admin
Admin
Admin

Posts : 41
Join date : 2007-09-29

https://cntt207.forumotion.com

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum