0

Visual Studio を使用して VB.net でプログラムを作成しています。一部のフォームでは Crystal Reports を使用して PDF レポートを表示していますが、データベース接続に問題があります。VB.net コードは問題なくデータベースにアクセスできますが、フォームにレポートが表示されると、ユーザー名とパスワードの入力を求められ、それらを入力すると接続に失敗します。アプリケーションとレポートは同じデータベースを共有し、同じデータを使用して接続しますが、Crystal Reports は失敗します。手伝って頂けますか?

4

3 に答える 3

1

これは私が持っているスニペットです(C#で動作しますが、私がどのように行ったかがわかります):

    CrystalReportSource CrystalReportSource1 = new CrystalReportSource();
    CrystalReportViewer CrystalReportViewer1 = new CrystalReportViewer();

    CrystalReportViewer1.ReportSource = CrystalReportSource1;
    CrystalReportViewer1.EnableParameterPrompt = false;
    CrystalReportSource1.Report.FileName = "Report3.rpt";
    CrystalReportSource1.EnableCaching = false;

    CrystalReportSource1.ReportDocument.SetParameterValue(0, ponumber);
    CrystalReportSource1.ReportDocument.SetParameterValue(1, receiptno);



    TableLogOnInfo logOnInfo = new TableLogOnInfo();

    logOnInfo.ConnectionInfo.ServerName = ConfigurationManager.AppSettings["WarehouseReportServerName"];
    logOnInfo.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings["WarehouseReportDatabaseName"];
    logOnInfo.ConnectionInfo.UserID = ConfigurationManager.AppSettings["WarehouseReportUserID"];
    logOnInfo.ConnectionInfo.Password = ConfigurationManager.AppSettings["WarehouseReportPassword"];

    TableLogOnInfos infos = new TableLogOnInfos();
    infos.Add(logOnInfo);
    CrystalReportViewer1.LogOnInfo = infos;

    maindiv.Controls.Add(CrystalReportSource1);
    maindiv.Controls.Add(CrystalReportViewer1);


    CrystalReportViewer1.DataBind();
于 2012-12-19T21:43:54.493 に答える
0

デザイナーを使用しているとおっしゃっていましたが、私のために機能するコードを投稿します。おそらくそれはあなたを助けるでしょう:

       Dim cryRpt As New ReportDocument
       Dim strReportPath As String = 'The Path of the rpt file
       cryRpt.Load(strReportPath)
       cryRpt.SetDataSource(Me.crData) 'crData is a datatable with data for the report

       crvReport.ReportSource = cryRpt 'crvReport is the CrystalReportViewer in my form
于 2012-12-19T14:46:50.977 に答える