Report có tham số thực chất là loại Report có khả năng lọc dữ liệu khi in. Ví dụ: bình thường Report in ra danh sách hóa đơn ở trên sẽ in danh sách toàn bộ hóa đơn của tất cả các khách hàng đã đến mua hàng. Bây giờ muốn in danh sách các hóa đơn đã bán cho một khách hàng nào đó? Lúc này phải cần đến report có tham số.
Có nhiều cách để thiết lập và sử dụng report có tham số như:
- Thiết lập tham số trên Record Source của report;
- Thiết lập tham số trên điều kiện lọc (Where Condition) dùng Macro;
- Thiết lập tham số trong câu lệnh VBA DoCmd;
- …
Trong phần này, chúng tôi hướng dẫn cách thiết lập tham số trên thuộc tính Record Source của report. Cách dễ làm, không cần am hiểu về lập trình VBA. Cách dùng Macro cũng tốt nhưng không nên dùng. Vì phương pháp lập trình này đã trở nên cứng nhắc. Thực tế, phương pháp dùng câu lệnh DoCmd trên VBA là tốt nhất, nó thể hiện tính linh hoạt và chuyên nghiệp của cách giải quyết vấn đề. Riêng cách này, các bạn có thể tham khảo ở Chương Lập trình CSDL.
Sau đây là cách giải quyết bài toán: In danh sách hóa đơn đã bán cho một khách hàng nào đó. Khách hàng bất kỳ được chọn trong một hộp combo box như sau:
Sau khi chọn khách xong và nhấn nút In report sẽ hiển thị báo cáo thỏa mãn điều kiện triên và có thể tạo nút in trực tiếp ra giấy.
Cách làm:
Bước 1: Tạo Report đáp ứng thông tin cần in
Có thể sử dụng report Wizard hoặc Report Design View để tạo ra một Report in danh sách cán bộ với các thông tin như sau:
Bước 2: Tạo form theo yêu cầu bài toán
- Có thể sử dụng Combo Wizard để tạo Combobox lấy ra danh sách các phòng ban từ bảng phongban;
- Có thể sử dụng Command button Wizard để tạo các nút lệnh Đóng và In danh sách;
Cuối cùng được form như sau:
Bước 3: Thiết lập tham số cho Report
Ở đây trình bày phương pháp thiết lập tham số vào thuộc tính Record Source của Report. Cách làm như sau:
- Mở report đã tạo được ở chế độ Design View (chế độ thiết kế);
- Mở query được thiết lập ở thuộc tính Record Source –nơi tạo nguồn dữ liệu và
thiết lập tham số cho trường KhachID của query như sau:
Trong đó: tham số cho trường KhachID là tên (Name) của ô Combo box chứa phòng ban được chọn trên form. Cú pháp viết tham chiếu tới một đối tượng trên form như sau:
Forms!<Tên form>!<tên đối tượng>
Trong trường hợp này tên ô Combo đó là Combo1 và tên của form (Name của form) là frmInds, cách viết tham số sẽ như sau: Forms!frmIndsCB!Combo1
Nếu cách viết này khó thực hiện, bạn có thể sử dụng tính năng Build Expression có sẵn trên Access để giúp tạo biểu thức này như sau:
Sau khi hòan tất, đóng tất cả các cửa sổ thiết kế lại (nhớ lưu lại các thao tác).
Để chạy in báo cáo vừa thiết kế, vào tab Form và chọn mở form frmInDS, sau đó chọn tên khách hàng trong hộp combo và nhấn nút In report, xem kết quả.
» Tin mới nhất:
» Các tin khác: