Private Sub Form_Load()
Dim i As Integer
Dim PrintName As String
'获得可用的打印机名
For i = 0 To Printers.Count - 1
PrintName = PrintName & ";" & Printers(i).DeviceName
Next
If PrintName <> "" Then
PrintName = Right(PrintName, Len(PrintName) - 1)
Me![strPrint].RowSource = PrintName
Else
MsgBox "没有可用的打印机", vbCritical, "提示"
End If
End Sub
Private Sub Command2_Click()
On Error GoTo Err_Command2_Click
Dim stDocName As String Dim rpt As Report
stDocName = "rptTest"
DoCmd.OpenReport stDocName, acViewPreview
'指定打印机
Set rpt = Reports(stDocName)
rpt.Printer = Printers(Me![strPrint].ListIndex)
'打印报表
DoCmd.OpenReport stDocName, acNormal
Exit_Command2_Click:
Exit Sub
Err_Command2_Click:
MsgBox Err.Description
Resume Exit_Command2_Click
End Sub
示例下载:
点击浏览该文件