【www.kwkids.com--二级建造师】
2011年计算机等考二级VB辅导知识技巧总结(10)
Job = PEOpenPrintJob(App.Path & "\New.rpt")
"水晶的错误处理
If Job = 0 Then
ErrorNum = PEGetErrorCode(Job)
MsgBox "打开作业New.rpt 失败!"
MsgBox "错误代号:" & ErrorNum
End If
"给水晶报表传送ADO记录集,AdoRecordset的生成就不再多说了
Handle = SetActiveDataSource(Job, 0, ADOrs)
"输出到打印预览窗口
Handle = PEOutputToWindow(Job, "New.rpt", 0, 0, 520, 520, WS_MAXIMIZE, 0)
‘直接输出到打印机
Handle = PEOutputToPrinter(Job,1)
"水晶的错误处理
If Handle <> 0 Then
Handle = PEStartPrintJob(Job, True)
If Handle <> 0 Then
MsgBox "打印完毕"
Else
ErrorNum = PEGetErrorCode(Job)
MsgBox "打印失败!"
MsgBox "错误代号:" & ErrorNum
End If
Else
ErrorNum = PEGetErrorCode(Job)
MsgBox "无法输出到窗体或打印机"
MsgBox "错误代号:" & ErrorNum
End If
"关闭打印作业
PEClosePrintJob (Job)
"关闭打印引擎
PECloseEngine
我使用的是VB6+水晶报表8.5,感觉这种方式比较灵活好用,同时解决了水晶报表补空行的问题。