使用 Crystal Reports ActiveX 查看器(本例中使用 Delphi XE3)时,如何指定要查看的报表文件?CR 控件中没有可用于输入报表名称或位置的属性。
问问题
1852 次
2 回答
0
ActiveXViewer可以与 Delphi XE3 一起使用。这是一个示例:
unit crystalreports;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtrls,
ActiveX, ComObj, Data.DB, Data.Win.ADODB, CrystalActiveXReportViewerLib11_TLB;
type
TReportForm = class(TForm)
CrystalReportsViewer: TCrystalActiveXReportViewer;
PreviewButton: TButton;
procedure PreviewButtonClick(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var ReportForm : TReportForm;
implementation
{$R *.dfm}
procedure TReportForm.PreviewButtonClick(Sender: TObject);
var CReport, CRApp : variant;
i :integer;
begin
CRApp := CreateOleObject('CrystalRuntime.Application');
CReport := CRApp.OpenReport('C:\Crystal Reports Test\companydatasheet.rpt',0 );
for i := 1 to CReport.Database.Tables.Count do
begin
CReport.Database.Tables[1].ConnectionProperties.Item['User ID'] := 'sa';
CReport.Database.Tables[1].ConnectionProperties.Item['Password'] := 'secret';
end;
CReport.RecordSelectionFormula := '{member.member_no} = "101"';
CrystalReportsViewer.Align := alClient;
CrystalReportsViewer.ReportSource := CReport;
ReportForm.WindowState := wsMaximized;
PreviewButton.Visible := False;
CrystalReportsViewer.ViewReport;
CrystalReportsViewer.Show; PreviewButton.Visible := True;
end;
end.
于 2013-03-04T21:23:21.927 回答
0
Crystal Reports XI ActiveX 查看器不起作用。我猜你正试图用它来使 Crystal Reports 与 Delphi 一起工作。它没有。它甚至在其他任何地方都不起作用。最新安装的 Crystal Reports XI 甚至没有附带 ActiveX 版本,只有 .net 版本。
仍然有安装程序(或在您的本地网络上)包含此 ActiveX 控件,但 CR XI 论坛讨论(现在由 SAP 管理的水晶报告)指出 ActiveX 控件在近十年前已被弃用,最后没有功能5 年,并从 2 年前的最新安装程序中完全删除。
于 2013-02-12T18:49:15.617 回答