- ベストアンサー
★クリスタルレポートの元になるテーブルを途中で変えたい時、どうすれば??
クリスタルレポートを作る時、 元になるデータベースを選んでテーブルを選んで、 必要な項目を画面に貼り付けていくわけですけど、 たくさん画面に式なり項目なりを貼り付けたあとで、 テーブル1 から 全く同じ構造のテーブルである テーブル2に 出力元を変えたいとします。 私は今まで、「データベース」→「データベースからレポートを追加」 でテーブル2を追加し、そのあとで、「データベース」→ 「レポートから ファイルを削除」でテーブル1を選んで消していました。 すると、項目をそのまま貼り付けてあったものはすべて消えてしまいますが、 式を作ってその中に、[テーブル1.項目1]と書いてあった場合は そのままで残っています。 その状態で例えば、プレビューボタンを押すとすると、 当然もうテーブル1はないので、エラーとなります。 その式の中のテーブル1をすべて手動でテーブル2に変えるという作業を していました。 バージョンは問いません。使っているのは、7と8です。 何か一度に変える方法はないのでしょうか? 式の中のものをすべて置き換える方法などないでしょうか? 他の方法でもいいのでどなたか至急教えて下さい。 項目がたくさんある時とても大変です・・・
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
記憶が薄いですが、、、 クリスタルレポートは、テーブル名とフィールドを記憶します。 しかしDBの接続先は任意です。 テーブル名が違うなら、全て関連付けずにオブジェクトを配置して、コードで関連付けるしかありません。 クリスタルレポートをインストール時に、サンプルもインストールしませんでしたか? 同様なサンプルを見たような気がします。。。
その他の回答 (2)
> その式の中のテーブル1をすべて手動でテーブル2に変えるという作業を > していました。 ご質問の趣旨ですが、「仕様変更に伴うPG変更を効率的に行いたい」という 解釈でよろしいですか? それとも、「実行時の指定条件でソーステーブルを動的に変更したい」の意味でしょうか? 前者の意味であれば、ソースを一括で自動的に書き換えるツールを作ってみてはどうでしょうか。テキスト形式のソースであれば、原理的に可能だと思います。 (クリスタルレポートの使用経験がないので、何とも言えませんが)
- sienna
- ベストアンサー率35% (51/145)
他の方法なんですがテーブルは1つだけ作っておいて 項目を1つ余分に用意しておき、その項目のデータに 「テーブル1」「テーブル2」とセットするような形にしておくのはいかがですか? プレビュー表示をさせるタイミングで「テーブル2」を抽出して表示させる ようにすれば良いのではないかと思います。
補足
仕様変更に伴うPG変更を効率的に行いたい の方です。分かりにくい文章で申し訳ないです。 一括で置き換えるツールは考えてみたのですが、 どーもクリスタルレポートの場合はよく分からないのです・・・