以下のデータベース認証コードの有無にかかわらず試してみました。
認証ではログインに失敗します...通常はODBCを使用しますが、ODBC接続にリンクする方法がわかりません。
認証がないと、空のレポートが出力されます (レコードが返されなかったかのように、実際のレポート)。
また、印刷機能で from および to ページのパラメーターが必要なため、ページ数がわからない場合、レポート全体を印刷する方法を教えてください。
レポートは Crystal Reports XI v11.5 で作成されました
助けてくれてありがとう。
これが私がこれまでに持っているものです:
printReport()
{
ReportDocument cryRpt = new ReportDocument();
cryRpt.RefreshReport += reportLoaded;
cryRpt.Load(myReport);
TableLogOnInfo crTableLogonInfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables crTables;
crConnectionInfo.ServerName = "myServer";
crConnectionInfo.DatabaseName = "myDatabase";
crConnectionInfo.UserID = "myUser";
crConnectionInfo.Password = "myPass";
crTables = cryRpt.Database.Tables;
foreach (Table table in crTables)
{
crTableLogonInfo = table.LogOnInfo;
crTableLogonInfo.ConnectionInfo = crConnectionInfo;
table.ApplyLogOnInfo(crTableLogonInfo);
}
cryRpt.SetParameterValue("@report_type", type);
cryRpt.Refresh();
}
reportLoaded(object sender, EventArgs e)
{
PrintDialog print = new PrintDialog();
DialogResult dr = print.ShowDialog();
if (dr == DialogResult.OK)
{
ReportDocument cryRpt = (ReportDocument)sender;
cryRpt.PrintOptions.PrinterName = print.PrinterSettings.PrinterName;
cryRpt.PrintToPrinter(print.PrinterSettings.Copies, print.PrinterSettings.Collate, print.PrinterSettings.FromPage, print.PrinterSettings.ToPage);
}
}