我在Crystal Reports应用程序中遇到问题,我在DatabaseTable对象的Fields属性中没有字段。 Fields.Count为每个表返回零。这只发生在我们用户的一台计算机上。它适用于办公室的所有开发人员。我们看不到任何不同的东西。我也想知道我是否在做一些根本错误的事情。文档说明了Fields属性“每个数据库字段的集合中都存在一个对象 由报告访问“但我们看到数据库中每个表中存在的每个字段都有一个对象,而不仅仅是报告访问的那个(BTW真的是我们想要的)。我们正在使用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;