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