0

パラメータをサブレポートに渡すことについては多くの情報がありますが、メインレポートからメインレポートのコマンドオブジェクトに渡すことについては何もありません。(これは私が見つけることができる最も近いものです。)

ベンダーから受け取ったコマンド オブジェクト (長さを短くするために名前を変更) には、

left join LOC L on L.ID = P.Loc_ID

メインレポートにパラメータ「面積」を追加します。{?Area} は式で期待されることを行いますが、コマンド オブジェクトから出力されるものと一致させることができないため、レコード選択では機能しません。引用された行のテーブルLOCを次のように置き換えると

left join **(select * from LOC where A = {?Area})** L on L.ID = P.Loc_ID

その後、SQL Server は「構文エラー、権限違反、またはその他の非特定エラー」を訴えます [sic]

コマンド オブジェクト エディタでパラメータを作成すると(外部に既に存在していても)、Crystal IDE 全体がクラッシュします。

コマンド オブジェクトには、メイン レポートから魔法のように取得するパラメーターが既に含まれています。コマンド オブジェクトに追加する前に、メイン レポート (proctalgia) から削除する必要がありますか? サブレポートの場合のように、2 つのパラメーターをリンクするメニューが見つかりません。

それが重要な場合は、バージョン 2008。

4

2 に答える 2

0

SQL コマンドを使用している場合は、メイン レポートにパラメーターを作成しないでください。SQL を入力するウィンドウには、Parameter List というセクションがあります。そこでクエリに関連するすべてのパラメータを作成すると、メイン レポートに転送されます。

コーディングに {?Area} があり、Area という名前のパラメーターを作成します。

それを証明するビデオを見つけました。Crystal Reports の古いバージョンですが、同じように動作します。 http://www.youtube.com/watch?v=BHNHsIUbcn8

于 2013-10-02T21:07:06.483 に答える
0

コマンドオブジェクトを作成していることがわかりました.FIRSTパラメータが鍵です。パラメーター (InstNo など) がサブレポートに作成されます。次に、[サブレポート リンクの変更] (サブレポートを右クリック) を使用して、そのパラメーターをリンク先のパラメーターとして選択します。したがって、基本的に逆方向に実行し、最初にコマンド オブジェクトを作成してから、それをメイン レポートにリンクします。なんらかの理由で、他の方法で実行すると機能しません (名前が同じであっても)。ちょうど私の経験。

于 2016-09-19T13:09:07.610 に答える