In ấn trong Access?

  • Thread starter tranhiep
  • Ngày gửi
T

tranhiep

Guest
22/5/08
1
0
0
53
Cần Thơ
Hi, All!

Mình có một vấn đề nho nhỏ như thế này (nghiên cứu cả mấy ngày nay rồi nhưng không giải được!), nhờ anh em chỉ giúp!

Số là mình đang giúp một người bạn viết một chương trình quản lý nho nhỏ bằng Access! Trong quá trình in ấn các báo cáo, phát sinh một yêu cầu như thế này: máy tính cài chương trình có gắn đồng thời hai máy in (tạm gọi là A và B) - một ở cổng USB và một ở cổng LPT1. Mình muốn khi ra lệnh in một report, chương trình sẽ chỉ định luôn (hoàn toàn tự động) máy in A hoặc là B, người sử dụng không cần phải chọn lựa! Thí dụ: bấm nút in báo cáo bán hàng, sẽ chạy ra máy in A; bấm nút in báo cáo tiền mặt sẽ chạy ra máy in B.

Nếu muốn được như vậy thì mình phải viết code hoặc cài đặt cấu hình như thế nào? Rất mong nhận được sự hỗ trợ của các Bác, cám ơn rất nhiều!
 
Khóa học Quản trị dòng tiền
S

spammail

Guest
Giả sử ta muốn in:
Report1 ra máy in A
Report2 ra máy in B
Private Sub Command1_Click()
Dim stDocName As String
Dim prtDefault As Printer
Set Application.Printer = Application.Printers(0) 'Máy in A có số Index là 0)
Set prtDefault = Application.Printer

stDocName = "Report1"
DoCmd.OpenReport stDocName, acNormal
End Sub

Tương tự ta làm nút Command2 in Report 2 cho máy in B với số index là 1

PS: Để kiểm tra xem máy in có số index là mấy ta có thể làm như sau:


Dim prtDefault As Printer
Dim i As Integer
For i = 0 To Application.Printers.Count - 1

Set Application.Printer = Application.Printers(i)
Set prtDefault = Application.Printer

With prtDefault
MsgBox "Device name: " & .DeviceName & vbCr _
& "Driver name: " & .DriverName & vbCr _
& "Port: " & .Port & vbCr _
& "Index: " & i
End With

Next

Híc, bạn nghiên cứu tiếp đi nha.
 
Sửa lần cuối:

Xem nhiều