C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 32 を表示中)
■15424 / )  Crystal Reports 2008での印刷処理
□投稿者/ あき (22回)-(2008/03/12(Wed) 18:15:20)

分類:[VB.NET/VB2005] 

開発環境:WinXp(仮想OS環境:VMWare)、VS2005、Crystal Reports 2008、Oracle8i
使用言語:VB

Crystal Reports 2008での印刷処理についての質問です。

下記のコードを実行したところ、
プレビュー表示は出来るのですが「PrintToPrinter」を実行して直接印刷処理を行うと
「CrystalDecisions.ReportAppServer.DataSetConversion - 接続を開けませんでした。」と
エラー表示されます。プレビュー表示できることから接続情報等は問題ないはずです。
よろしくお願い致します。


▼以下コードになります。----------------------------------------------------------------
' CrystalReportsオブジェクトの生成
Dim Report As CrystalDecisions.CrystalReports.Engine.ReportDocument
Report = New CrystalDecisions.CrystalReports.Engine.ReportDocument

Dim sReportFile As String = ReportsDir & "\" & "@@@" & ".rpt"
Report.Load(sReportFile, CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy)

If frmZUK500.cmbDestination.SelectedIndex = 0 Then

    '// プレビュー表示 //

    Dim frmPreview As New frmPreview

    frmPreview.crViewer.SelectionFormula = strWHERE
    frmPreview.crViewer.ReportSource = sReportFile

    ' レポート内のテーブルの接続情報を設定
    Dim logOnInfo As New CrystalDecisions.Shared.TableLogOnInfo
    logOnInfo.ConnectionInfo.ServerName = "@@@"
    logOnInfo.ConnectionInfo.DatabaseName = "@@@"
    logOnInfo.ConnectionInfo.UserID = "@@@"
    logOnInfo.ConnectionInfo.Password = "@@@"
    logOnInfo.TableName = "@@@"

    ' logOnInfosコレクションにlogOnInfoオブジェクトを追加します。
    frmPreview.crViewer.LogOnInfo.Add(logOnInfo)

    For Each Table As CrystalDecisions.CrystalReports.Engine.Table In Report.Database.Tables
        ' logOnInfosコレクションにlogOnInfoを追加
        Table.ApplyLogOnInfo(logOnInfo)
    Next
    Report.RecordSelectionFormula = strWHERE

    ' ビューアーの表示
    frmPreview.Show()

Else

    '// 直接印刷 //

    ' レポート内のテーブルの接続情報を設定
    Dim logOnInfo As New CrystalDecisions.Shared.TableLogOnInfo
    logOnInfo.ConnectionInfo.ServerName = "@@@"
    logOnInfo.ConnectionInfo.DatabaseName = "@@@"
    logOnInfo.ConnectionInfo.UserID = "@@@"
    logOnInfo.ConnectionInfo.Password = "@@@"
    logOnInfo.TableName = "@@@"

    frmPreview.crViewer.LogOnInfo.Add(logOnInfo)

    For Each Table As CrystalDecisions.CrystalReports.Engine.Table In Report.Database.Tables
        ' logOnInfosコレクションにlogOnInfoを追加
        Table.ApplyLogOnInfo(logOnInfo)
    Next
    Report.RecordSelectionFormula = strWHERE
 
    ' 印刷部数
    Dim Copies As Integer = 1

    'PrintDocumentの作成
    Dim pd As New System.Drawing.Printing.PrintDocument

    'プリンタ名の取得
    Dim defaultPrinterName As String = pd.PrinterSettings.PrinterName
    Report.PrintOptions.PrinterName = defaultPrinterName
    Report.PrintToPrinter(Copies, True, 0, 0) ← ※この行を実行するとエラーになります。

End If

返信 編集キー/


管理者用

- Child Tree -