0

レポート中にストアド プロシージャを呼び出して、テーブルに値を挿入する必要があります。これらの値は、追加されたデータセットのフィールドの結果です。たとえば、値の行があり、右端の列は次のとおりです"ReportItems!TextBox1.Value + ReportItems!TextBox2.Value ..."。これにより、レポートの正しい合計が得られます。次に、この値をパラメーターとして使用してプロシージャーを呼び出す必要があります。

ストアド プロシージャをデータセットとして使用すると、ReportItems!を参照できません。また、使用しているレポート インフラストラクチャが原因で、データセットの結果である可能性がある追加のレポート パラメーター (内部または非表示であっても) を作成できません。

カスタム レポート コードを使用すると、ストアド プロシージャを呼び出して を参照できることはわかっReportItemsていますが、正しい構文を見つけることができませんでした。私は VB.net に詳しくないので、具体的に教えてください。を呼び出す方法の例を得ることができればProcedure TEST_INSERT(ReportItems!TextBox1.Value)、それを実装する方法を理解することができます。

データ ソースとして Oracle バックエンドを使用しています。ありがとう

4

2 に答える 2

2

私の理解が正しければ、レポートの式で計算された値を使用してデータベースの更新を行いたいと考えています。これに対する私の答えは 3 つあります。

最初に:それをしないでください!.

2番目:まじでやらないで!! レポート サービスは、この種のタスクには向いていないか、あまり適していません。ほとんどの場合、XY-Problemを見ています。

第三に、とにかくそれを行うことを主張する場合、それを達成するために私が考えることができる最も簡単な方法は、別のレポートを使用して更新をトリガーし、求めている値をそのレポートのパラメーターに渡すことです。メイン レポートでは、レポートを呼び出す合計のセルにクリック アクションを設定し、同じ値をパラメータに設定します。

同様に機能する可能性のある同様の設定は、最初のデータセットに基づいて、言及したのと同じ「合計」式でパラメーターを作成し、それを別のデータセットに渡すことです。

ただし、やらないでください!;-)

于 2013-01-29T20:33:31.050 に答える
0

Oracle で更新または挿入関数を呼び出して値を返すレポート サービスにデータセットを設定します。このようにして、計算に必要な合計を送信し、更新が成功したかどうかをユーザーに知らせる結果を生成できます。

これを行うための特別な方法はありません。プロシージャ名を選択または入力し、フィールドを更新してパラメータを更新するだけです。SSRS の Oracle ストアド プロシージャを参照してください。

また、この方法を使用すると、Oracle でストアド プロシージャを実行し、テーブルを更新して結果を表示できます。

于 2013-01-31T09:22:32.463 に答える