Giả sử bạn có table ( hoặc query) tên là table1.
Giờ bạn muốn in 1 chứng từ với điều kiện sau:
- Ít hơn 10 dòng, in bình thường
- Nhiều hơn 10 dòng, in chứng từ với dòng chữ: Chi tiết trong bảng kê . Đồng thời cho in luôn bảng kê!
Như vậy ta cần có 3 report sau:
- Chứng từ
- Chứng từ với dòng chữ : Chi tiết bảng kê
- Bảng kê
Ở đây mình chỉ đề cập thủ thuật liên quan việc xử lý nút in. Còn nội dung mình không xem xét!
Trong nút nhấn In của form in, ta xử lý như sau:
Mã:
Private Sub Command0_Click()
Dim rs As Recordset
Dim n As Integer
Set rs = CurrentDb().OpenRecordset("Table1", dbOpenDynaset)
rs.MoveLast
n = rs.RecordCount
MsgBox n
If n <= 9 Then
DoCmd.OpenReport "hoadon", acViewPreview
Else
DoCmd.OpenReport "hoadon1", acViewPreview
DoCmd.OpenReport "bangke", acViewPreview
End If
End Sub
Với hoadon là chứng từ không bảng kê
hoadon1: chứng từ có kèm bảng kê
table1 là table/ query chứa dữ liệu cần in
Mời tham khảo demo