【发布时间】:2019-04-23 09:54:50
【问题描述】:
我有一个已经设计好的 Crystal 报表,它有两个参数:AccountNo 和 Transaction_Date。
AccountNo 是一个离散值
Transaction_Date 是一个日期范围参数(范围的开始和范围的结束)。
我打算通过我的 vb6 代码传递这个参数。 我尝试这样做会为我显示/导出空白报告。
代码如下:
Set objCrystal = New CRAXDRT.Application
objCrystal.LogOnServer "pdsodbc.DLL", "SMARTHR", sTrDSource, CStr(strUserName), CStr(strPwd)
Set objReport = objCrystal.OpenReport(App.path & "\Reports\CPSMPA.rpt", 1)
objReport.DiscardSavedData
objReport.ParameterFields(1).AddCurrentValue (v_ACCNO)
objReport.ParameterFields(2).MaximumValue = v_ENDDT
objReport.ParameterFields(2).MinimumValue = v_STATDT
''objReport.ParameterFields(1).AddCurrentRange(v_STATDT,v_ENDDT,crRangeNotIncludeUpperLowerBound)
ExportReportToPDF objReport, (App.path & "\Reports\Emails\" & v_ACCNO & "MPA.pdf")
我认为我传递参数的方式不正确。
【问题讨论】:
-
v_ENDDT 和 v_STATDT 中有哪些值?
-
v_ENDDT 和 v_STATDT 是日期类型变量,分别保存结束日期和开始日期。
-
Eugene,标签很重要,因为 SO 上的许多人都遵循他们熟悉的标签。因此,通过同时使用 VB6 和 VB.Net 对其进行标记,您可能会混淆人们并导致他们继续做其他事情。我会删除不适用的任何标签 - 或者在问题中解释两者是否相关。
-
在尝试删除 VB.NET 时应该标记 vb60,如果您能帮我删除将不胜感激。
-
看起来你已经做到了。
标签: vb6