VB6+Accsess2000+Crystal Report10で帳票出力アプリを作っています。
印刷関数printReportを下記(*)のように書きました。
この関数は下記(**)のように呼び出しています。
このコードを動かしたところ、ループの始めの印刷はうまくいくのですが、
それ以降値の入っていないレポートが出力されてしまいます。
レポートを直接開いてプレビューを見ると、空のレポートにも値が存在していることが確認できます。
申し訳ありませんがご意見などいただけないでしょうか。
ちなみにクリスタルレポートのファイルとDBはADOでつないでいます。
'印刷機能...(*)
Public Sub printReport(slipID As String)
Dim filePath As String
filePath = "D:\hogehogeho\"
'クリスタルレポート設定
Dim cr10App As CRAXDRT.Application
Dim cr10Report As CRAXDRT.Report
Dim ExportOptions As CRAXDRT.ExportOptions
Set cr10App = New CRAXDRT.Application
Set cr10App = CreateObject("Crystalruntime.Application.10")
Set cr10Report = cr10App.OpenReport(filePath & "rptSlip3.rpt")
Set ExportOptions = cr10Report.ExportOptions
'出力先の指定
ExportOptions.DestinationType = crEDTDiskFile
'出力ファイル名の指定
ExportOptions.DiskFileName = filePath & slipID & ".pdf"
'出力形式の指定
ExportOptions.FormatType = crEFTPortableDocFormat
cr10Report.PrintOut False
cr10Report.Export False
Set cr10App = Nothing
Set cr10Report = Nothing
Set ExportOptions = Nothing
End Sub
'呼び出し方...(**)
For i = 0 To XX
slipID = XXXX
Call slipPrinter.createOrderCombination(slipID)'データの準備
Call slipPrinter.printSlip(slipID)'印刷
Next
ツイート | ![]() |