5

二つ報告があります。最初のレポートでは、ドロップダウン ボックスからレポート タイプを選択し、開始日と終了日を受け入れます。レポートの表示をクリックすると、このレポート タイプの顧客名が一覧表示されます。

をクリックすると、2 番目のレポートが呼び出され (アクション)、2 番目のレポートで使用される 3 つのパラメーター ( 、、およびcustomername) が渡されます。customernamedatefromdateto

各レポートを個別に実行すると、両方とも正常に実行されます。最初のレポートを実行すると (レポート タイプを選択し、datefrom/を選択dateto)、このレポートには、このレポート タイプのすべての顧客名が一覧表示されます。をクリックするとcustomername、次のエラーが表示されます。

「レポート パラメータ 'reportdatefrom' に指定された値は、そのタイプに対して有効ではありません」(rsReportParameterTypeMismatch)

助けてください。

4

3 に答える 3

1

format(Parameters!reportdatefrom.Value,"YYYYMMDD") のようなものを使用して、値をサブレポートに渡す前に正規の文字列に強制します。

SSRS では、日時に関する問題が発生することがあります。URL アドレス指定可能性は、すべてのパラメーター値がとにかく文字列に変換されることを意味しますが、デフォルトの変換ルールはコンポーネント間で異なる場合があります。あるコンポーネントは、別のコンポーネントが読み取れない日時リテラルを生成します。通常、これは米国以外の地域設定が原因です。

とにかく、これを回避するには、日付を渡す前に、日付を ODBC 正規形式の文字列リテラルに変換するだけです。

于 2009-10-22T14:59:18.167 に答える
0

2番目のレポートで型パラメーターを確認してください Parameters!From と Parameters!To は両方とも Datetime 型ですが、2番目のレポートを呼び出す方法がわかりませんが、私の場合はこのようにします

テキストボックスを右クリック>プロパティ>左ペインでアクションを選択>下の画像のようにレポートに移動オプションを選択

ここに画像の説明を入力

次に、2 番目のレポートに送信するパラメーターを追加します。

Parameters!From と To (両方のレポート) が Datetime Type であることを確認します。

于 2016-08-10T04:38:09.090 に答える
0

サブレポートに URL を渡す方法にも依存します。

メイン レポートの SubReport オブジェクトを介して渡し、URL オプションを介して Action プロパティを渡す場合:

ここに画像の説明を入力

URL 文字列を作成し、サブレポートのパラメーター要件を満たすために必要なフィールド参照を追加することをお勧めします。

すなわち

="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString()

こうすることで、SSRS に、フィールド値全体を Fields テーブルの正しい値を持つ 1 つの文字列として強制的にレンダリングさせることができます。

于 2016-08-10T04:21:33.913 に答える