【发布时间】:2015-05-13 13:23:29
【问题描述】:
如果我手动打开 Crystal Report (v. XI),我可以在字段资源管理器中看到正在使用的数据库字段(它们已被选中)。我怎样才能以编程方式找到它?我尝试使用 API 在 Table 对象中找到的字段(参见下面的代码)循环,但随后我得到了相关表中的 all 数据库字段的列表,即使它们没有在其中使用我的报告!
For Each t As Table In rptDoc.Database.Tables
For Each fld As DatabaseFieldDefinition In t.Fields
debug.print(fld.name)
Next
Next
我也尝试了以下代码,但仍然没有得到我期望看到的所有字段:
For Each RO As ReportObject In rptDoc.ReportDefinition.ReportObjects
If RO.Kind = ReportObjectKind.FieldObject Then
fo = DirectCast(RO, FieldObject)
Debug.Print(fo.DataSource.Name.ToString)
End If
Next
求助!!!
【问题讨论】:
-
我决定使用 DataDefinition 和 ReportDefinition 类搜索 Crystal Report,并扫描每个公式、总计、组等,并使用这些对象检查每个文本公式,以剖析哪些数据库字段被利用(非常乏味)。但是,我似乎找不到在 CrossTab 对象或 Suppress Formulas 中使用的数据库字段,例如线条和框。非常令人沮丧!为什么 Crystal 不能让“UseCount”正常工作!!!
标签: database sdk crystal-reports crystal-reports-xi