我在 Crystal Reports 应用程序中遇到问题,我在 DatabaseTable 对象的 Fields 属性中没有获得任何字段。Fields.Count 为每个表返回零。这仅发生在我们用户的一台计算机上。它适用于办公室中的所有开发人员。我们看不到任何不同的东西。我也想知道我是否在做一些根本错误的事情。文档说对于 Fields 属性“报表访问的每个数据库字段的集合中都存在一个对象”,但我们看到每个表的数据库中存在的每个字段都有一个对象,而不仅仅是由报告(顺便说一句,这确实是我们想要的)。我们正在使用 CR 运行时版本 11.5。任何想法,将不胜感激。这是我们正在使用的代码(Delphi):
procedure TfrmPCMSCrystalReportViewer.BuildColumnList;
{ Populate slColumns with the list of column.
For each table in the report, add every column. }
var
I, J: Integer;
Tbl: DatabaseTable;
begin
slColumns.Clear;
with crReport1.Database do begin
for I := 1 to Tables.Count do begin
Tbl := Tables[I];
//process each column in table
for J := 1 to Tbl.Fields.Count do
//add column to list
slColumns.Add(Tbl.Fields[J].DatabaseFieldName);
end; //for
end; //with
end;