2

CRでの作業は比較的新しいです。最近、vbscripts を介して以前に実行された多くの古いレポートを vb.net で実行するように変換しています。

作業できない特定のレポートがあります。実行するには、「DateRange」というパラメーター フィールドに格納する日付範囲が必要です。

このレポートを呼び出してエクスポートした古い vbscript では、この日付範囲パラメーターを渡すコードは次のとおりです。

Set crParms = CrystalReport.ParameterFields
crParms.Item(1).AddCurrentRange CDate(StartDate), CDate(EndDate), 3

このコードがvb.netでどのように見えるべきかについて、誰か助けてもらえますか? レポートの「DateRange」パラメーターは単一の変数であるため、少し混乱しています。それで、日付のコレクションか何かを期待していますか?

レポートを呼び出し、日付範囲を渡し、レポートをエクスポートする単純なコンソール プロジェクトを作成しているだけです。レポートをエクスポートするためのコードを理解することができました。うまく機能しています。日付範囲をレポートに渡す方法を理解する必要があるだけです。

ありがとう!

4

2 に答える 2

3

VB.NET から Crystal レポートの 1 つの DateRange パラメータに 2 つの日付を渡す方法について他の誰かが助けを必要としている場合、これが私にとってはうまくいきました。

Const PARAMETER_FIELD_NAME As String = "DateRange"

Dim startDate as Date

Dim endDate as Date


<other code>


Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
Dim crParameterValues As New ParameterValues
Dim crParameterRangeValue As New ParameterRangeValue


crParameterRangeValue.StartValue = startDate
crParameterRangeValue.EndValue = endDate


crParameterFieldDefinitions = cryReport.DataDefinition.ParameterFields
crParameterFieldDefinition = crParameterFieldDefinitions.Item(PARAMETER_FIELD_NAME)
crParameterValues = crParameterFieldDefinition.CurrentValues


crParameterValues.Clear()
crParameterValues.Add(crParameterRangeValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)


<other code>

このチュートリアルは、上記で機能するコードを作成するのに非常に役立つことがわかりました。

于 2012-11-01T19:48:07.937 に答える