我正在从VB6
应用程序(Crystal Reports 6)加载Crystal Report,我需要传递两个公式的值。
要做到这一点,我已经
了crExport.Formulas("@thisYear") = Mid(DB_Period_Name$, Len(DB_Period_Name$) - 5, 2)
crExport.Formulas("@thisPeriod") = Mid(DB_Period_Name$, Len(DB_Period_Name$) - 7, 2)
但是,当我运行应用程序并尝试查看报告时,我收到运行时错误
类型不匹配
一旦我到达第一个公式线。是什么导致了这个问题?
我尝试从公式名称中删除@符号,我在分配它们之前已将这两个值转换为整数但这些都产生了相同的错误。
答案 0 :(得分:0)
以下是我如何为我的老龄化报告设置公式值的示例:
[1,2,3]
老化报告部分:
' Global Declarations
Public crxApp As CRAXDRT.Application
Public crxRpt As CRAXDRT.Report
Public crxTable As CRAXDRT.DatabaseTable
Public crxFormula As CRAXDRT.FormulaFieldDefinition
答案 1 :(得分:0)
对此的解决方法是使用公式的索引而不是名称来设置值。
所以在这种情况下
crxReport.FormulaFields(0).Text = Mid(DB_Period_Name$, Len(DB_Period_Name$) - 5, 2)
crxReport.FormulaFields(1).Text = Mid(DB_Period_Name$, Len(DB_Period_Name$) - 7, 2)