SỐ 199
KINH NGHIỆM LẬP TRÌNH

Tạo biểu mẫu dạng form/subform trong VB6

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.

Để mần cái form/subform trong VB6, trước hết bà con phải có một recordset (tập hợp các mẩu tin) kiểu quan hệ phân cấp (hierarchy), sử dụng ô điều khiển Hierarchical Flex Grid để nhập dữ kiện cấp con.

Tạo một recordset kiểu quan hệ phân cấp trong Data Environment Designer

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.


(còn tiếp ...)

CHƯƠNG CAN CHÍP

[Đầu trang]
Trang chủ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Cõi người ta
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền Công ty Phần mềm & Truyền thông VASC
 99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn
Mọi chi tiết về kinh doanh và quảng cáo xin liên hệ Phòng Quảng cáo. Tel: (04) 9782077 kd@vasc.com.vn