Thứ Sáu, 29 tháng 7, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 5 - Tạo form và subform nhiều bảng

James Perry, Richard Newmark


Chương 5
Tạo và dùng forms


Tạo form và subform nhiều bảng


Nhiều forms bạn tạo nhằm mục đích nhập liệu và thường hiển thị dữ liệu từ một bảng. Tuy nhiên, nhiều khi bạn cần nhập hay hiển thị dữ liệu từ nhiều hơn một bảng. Thông tin về hóa đơn và chi tiết hóa đơn là một ví dụ tốt. Đó là ví dụ về form tra cứu và lưu dữ liệu vào nhiều hơn một bảng. Form hóa đơn có thể hiển thị dữ liệu từ các bảng có quan hệ với nhau tblInvoice tblInvoiceLine. Form chứa dữ liệu như thời điểm xuất hóa đơn, mã khách hàng, và mã nhân viên được tra từ tblInvoice. Các chi tiết hóa đơn như từng mục hóa đơn trong tblInvoiceLine, gồm mã hóa đơn, số lượng đặt mua, đơn giá, và phần trăm giảm giá.

Khi bạn tạo form dựa trên một bảng có quan hệ một-nhiều với một bảng khác (chẳng hạn tblInvoice tblInvoiceLine), Access sẽ tạo form và subform tương ứng. Bạn có hầu như mọi quyền kiểm soát bảng nào xuất hiện trong form và subforms bằng cách dùng Form Wizard. Qua Form Wizard, bạn có thể qui định bảng, trường, nhóm bản ghi, sắp xếp phát sinh trước khi dữ liệu xuất hiện trong form và subforms. Mặt khác, bạn có thể tạo form và subform cơ bản bằng cách chọn bảng “cha” (bảng phía một trong quan hệ 1-M) và chỉ việc kích Form trên Create tab. Form sẽ hiển thị dữ liệu từ bảng cha ở trên và các bản ghi liên quan từ phía nhiều của quan hệ trong subform.

Form hóa đơn bạn sẽ tạo trong phần này thực sự là hai forms: một form chính và một form con (subform). Form chính hiển thị một bản ghi trong bảng tblInvoice. Đồng thời, form con hiển thị các bản ghi liên quan, là các mục trên từng dòng hóa đơn. Thông tin trên subform gồm mã tồn kho, số lượng đã đặt, đơn giá, và phần trăm giảm giá. Giá thành (extended price), là công thức số lượng * đơn giá * (1 – phần trăm giảm giá), thì không có trong tblInvoiceLine. Nếu bạn muốn có trường tính toán trong form, bạn có thể tạo truy vấn chứa tính toán rồi tạo form hay subform trên truy vấn đó thay vì trên bảng. Ta cũng sẽ tạo form hóa đơn kiểu này.

Dĩ nhiên, Access cho phép bạn lưu trường tính toán vào bảng, nhưng hầu hết các hệ cơ sở dữ liệu đều không. Bạn đừng dùng đặc trưng này của Access vì mục đích tương thích.

Không có nhận xét nào:

Đăng nhận xét