【问题标题】:"Invalid Object Format Name" in Crystal ReportsCrystal Reports 中的“无效的对象格式名称”
【发布时间】:2013-10-23 15:06:02
【问题描述】:

使用 Crystal Report 字段对象并尝试将“EnableSuppress”设置为 False 或更改字段对象的位置或宽度时,会生成“无效的对象格式名称”错误。在尝试实际加载报告之前,调试器会显示我的所有代码都在正常运行。到那时,它将毫无问题地运行第一对,然后在与字段对象混淆时失败,其余的都不会运行。代码如下所示。产生错误的一切都是 FieldObject,但并非所有 fieldObject 都会产生错误。在下面的代码中,Section2 中的所有内容都是 TextObject,Section3 中的所有内容都是 FieldObject。

If condition = True Then
'Lines marked as runs ok, only run when a line that generates an error is not present before it.  
    Report.Section2.ReportObjects("Text7").Left = 7830      'Runs ok  
    Report.Section3.ReportObjects("Field4").Left = 8085     'Runs ok  
    Report.Section2.ReportObjects("Text13").ObjectFormat.EnableSuppress = False    'Runs ok  
    Report.Section3.ReportObjects("Field28").ObjectFormat.EnableSuppress = False   'error  
    Report.Section2.ReportObjects("Text9").Left = 10830     'Runs ok  
    Report.Section3.ReportObjects("Field23").Left = 10830   'error  
    Report.Section3.ReportObjects("Field23").Width = 615    'error  
    Report.Section2.ReportObjects("Text10").Left = 11445    'Runs ok  
    Report.Section3.ReportObjects("Field25").Left = 11445   'Runs ok  
End If

【问题讨论】:

  • 您是否尝试过使用公式隐藏 Crystal Report 中的字段?
  • 我可以在 Crystal Report 中隐藏,但这无助于我移动和更改 Field23 的宽度(在我发布的代码中)。
  • 您是否为 Field23 尝试过不同的值?测试看看是不是和值冲突(可能和Field25使用相同的值)还是字段本身冲突。
  • 这似乎有效。 Field25 是一个数字 (Int),而 Field23 只是文本(从数据库中提取)。那会有什么不同吗?
  • 不应该。 Field25 是否来自数据库?其他引发错误的字段呢?

标签: vb.net crystal-reports


【解决方案1】:

除非您弄清楚引发错误的字段有什么不同并且在 VB 代码中完全设置格式,否则我建议您从 Crystal 报表中进行格式设置。您显然知道条件抑制以及更改字段的大小和位置,您可以右键单击该字段并单击“大小和位置”。还有一个条件放置(公式)的选项。

希望对你有帮助,

克里斯

【讨论】:

  • 使用公式似乎可以解决这个问题。无论出于何种原因,它都不适用于字段对象。我只是要将所有内容都包含在公式字段中。感谢您的帮助。
  • 很高兴为您工作。有时水晶与其他人相处得不好,你最好留在水晶内。干杯!
猜你喜欢
  • 2013-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多