「注文の詳細」という Crystal Report を作成しました。Visual Studio 2005 (crystal ver 10) を使用しました。
注文詳細レポートは、ストアド プロシージャを使用してデータを入力します。
別のストアド プロシージャを呼び出す「ChildAssets」というサブレポートが含まれています。サブレポートにはパラメータが必要です。必要なパラメーターは、実際には、注文の詳細レポートで使用されるストアド プロシージャのフィールド、つまり AssetID です。
そこで、私の開発マシンで、ChildAssets サブレポートを編集して、OrderDetails レポートからリンクされたパラメーターを使用し、AssetID を選択しました。これは私のマシンでうまく機能します。
親レポートが必要とするサーバー、ログオン資格情報、およびパラメーターはすべてコードで行われるため、指定しているデータベースに同じ名前のストアド プロシージャがあり、同じフィールドを返す限り、データ ソースを任意の SQL サーバーに動的に変更できます。 .
問題はこれです...
レポートの作成に使用したものとは異なるデータソースにデータソースを変更すると、リンクされたパラメーターが失われ、サブレポートにデータが表示されなくなります。
親レポートは正常に動作し、サブレポートが実際にそのストアド プロシージャを呼び出していることはわかっています。これは、ストアド プロシージャをパラメータを必要とせずにいくつかの行を返すように変更したため、認証の問題などではありません。
何らかの理由で、データソースを変更すると、サブレポートはリンクされたパラメーターの値を見つけることができません。
クリスタルは定期的に壁に頭をぶつけさせますが、これは私を狂気に駆り立てます! :)
これに対する答えを知っている人がいれば、私は永遠に感謝します!
よろしく、
マーク
これをグーグルで検索しましたが、答えが見つかりませんでした。