|
Một biểu mẫu dạng form/subform
thường được dùng để nhập dữ kiện vào hai bảng có mối
quan hệ cha-con, trong đó dữ kiện trong bảng con
(child) được nhập thông qua cái gọi là subform. Một
ví dụ hay gặp nhất trong “cõi trần tục” là hóa đơn
bán hàng, nội dung chi tiết các mặt hàng (hay dịch
vụ) ghi trên hóa đơn được ví như một cái subform. |
|
1) Tạo một dự án mới kiểu Data
Project rồi bấm đúp vào đối tượng DataEnvironment1
để mở cửa sổ Data Environment.
2) Đặt lại tên Connection1 thành cnnNwind, bấm chuột
phải vào đối tượng cnnNwind rồi chọn mục Properties
để mở hộp thoại Data Link Properties.
3) Chọn phân trang Provider, chọn mục Microsoft Jet
3.51 OLE DB Provider trong danh sách OLE DB
Provider(s) và bấm chọn Next để chuyển sang phân
trang Connection. Chọn nút ba-chấm bên dưới
mục Select or enter a database name: để chọn tập
tin NWIND.MDB trong thư mục đã cài VB6 (ví dụ:
D:\Program Files\Microsoft Visual Studio\VB98).
Chấp nhận các thông số mặc định còn lại rồi bấm vào
nút Test Connection để kiểm tra việc kết nối vào cơ
sở dữ liệu. Nếu tốt đẹp thì bụp nút OK để đóng hộp
thoại.
4) Với đối tượng cnnNwind đang chọn, bụp vào biểu
tượng Add Command ngay bên trên đối tượng
DataEnvironment1 để thêm đối tượng Command1. Bụp
chuột phải vào đối tượng này rồi chọn mục Properties
để mở hộp thoại Command1 Properties. Đổi tên
ở mục Command Name thành Orders.
5) Trong phần Source Data bên dưới, chọn mục
Database Object, rồi chọn mục Table trong danh sách
kế bên. Sau đó, chọn tên Orders trong danh sách
Object Name.
6) Chuyển sang phân trang Advanced, chọn mục 2 - Use
Server-Side Cursors trong danh sách Cursor Location,
mục 1 - Keyset trong danh sách Cursor Type, mục 3 -
Optimistic trong danh sách Lock Type.
7) Bụp nút OK để ghi lại kết nối Orders vào dự án.
8) Với đối tượng Orders được chọn trong cửa sổ
DataEnvironment1, bụp vào biểu tượng Add Child
Command ngay bên trên đối tượng DataEnvironment1 để
thêm đối tượng Command1. Mở hộp thoại Command1
Properties. Đổi tên ở mục Command Name thành
OrderDetails.
9) Chọn Table cho mục Database Object và Order
Details cho mục Object Name.
10) Chọn phân trang Relation để xác định quan hệ
cha-con. Chọn theo mặc định: mục Relate to a
Parent Command Object được đánh dấu, mục OrderID
được chọn trong danh sách Parent Fields và mục
OrderID được chọn trong danh sách Child Fields.
11) Bấm chọn Add để thêm quan hệ này vào danh sách
quan hệ.
12) Bụp nút OK để ghi lại lệnh OrderDetails vào dự
án.
13) Trong cửa sổ Project, chọn mục DataEnvironment1,
đặt lại tên cho nó là envNwind.
14) Bụp chuột phải vào mục envNwind và chọn Expand
All để hiển thị các mục tin của các lệnh cha
(Orders) và con (OrderDetails). Hình 1 minh họa kết
quả đạt được.
15) Bụp chuột phải vào mục Orders và chọn mục
Hierarchy Info... để mở hộp thoại Hierarchy
Information. Tùy chọn mặc định View Shape
Command cho thấy lệnh mà MSDataShape cần để tạo một
recorset dạng phân cấp. Nếu chọn View ADO Hierarchy,
bà con sẽ thấy quan hệ giữa recordset rsOrders và
lệnh con OrderDetails. Bà con hãy chọn mặc định, rồi
bụp nút Close để đóng hộp thoại. |