• ベストアンサー

★クリスタルレポートの元になるテーブルを途中で変えたい時、どうすれば??

クリスタルレポートを作る時、 元になるデータベースを選んでテーブルを選んで、 必要な項目を画面に貼り付けていくわけですけど、 たくさん画面に式なり項目なりを貼り付けたあとで、 テーブル1 から 全く同じ構造のテーブルである テーブル2に 出力元を変えたいとします。 私は今まで、「データベース」→「データベースからレポートを追加」 でテーブル2を追加し、そのあとで、「データベース」→ 「レポートから ファイルを削除」でテーブル1を選んで消していました。 すると、項目をそのまま貼り付けてあったものはすべて消えてしまいますが、 式を作ってその中に、[テーブル1.項目1]と書いてあった場合は そのままで残っています。 その状態で例えば、プレビューボタンを押すとすると、 当然もうテーブル1はないので、エラーとなります。 その式の中のテーブル1をすべて手動でテーブル2に変えるという作業を していました。 バージョンは問いません。使っているのは、7と8です。 何か一度に変える方法はないのでしょうか? 式の中のものをすべて置き換える方法などないでしょうか? 他の方法でもいいのでどなたか至急教えて下さい。 項目がたくさんある時とても大変です・・・

  • GBSGBS
  • お礼率36% (370/1012)

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

記憶が薄いですが、、、 クリスタルレポートは、テーブル名とフィールドを記憶します。 しかしDBの接続先は任意です。 テーブル名が違うなら、全て関連付けずにオブジェクトを配置して、コードで関連付けるしかありません。 クリスタルレポートをインストール時に、サンプルもインストールしませんでしたか? 同様なサンプルを見たような気がします。。。

その他の回答 (2)

noname#4564
noname#4564
回答No.2

> その式の中のテーブル1をすべて手動でテーブル2に変えるという作業を > していました。 ご質問の趣旨ですが、「仕様変更に伴うPG変更を効率的に行いたい」という 解釈でよろしいですか? それとも、「実行時の指定条件でソーステーブルを動的に変更したい」の意味でしょうか? 前者の意味であれば、ソースを一括で自動的に書き換えるツールを作ってみてはどうでしょうか。テキスト形式のソースであれば、原理的に可能だと思います。 (クリスタルレポートの使用経験がないので、何とも言えませんが)  

GBSGBS
質問者

補足

仕様変更に伴うPG変更を効率的に行いたい の方です。分かりにくい文章で申し訳ないです。 一括で置き換えるツールは考えてみたのですが、 どーもクリスタルレポートの場合はよく分からないのです・・・

  • sienna
  • ベストアンサー率35% (51/145)
回答No.1

他の方法なんですがテーブルは1つだけ作っておいて 項目を1つ余分に用意しておき、その項目のデータに 「テーブル1」「テーブル2」とセットするような形にしておくのはいかがですか? プレビュー表示をさせるタイミングで「テーブル2」を抽出して表示させる ようにすれば良いのではないかと思います。

関連するQ&A

  • クリスタルレポートについて素朴な疑問

    クリスタルレポートについて素朴な疑問。 クリスタルレポートはぜんぜん触ったことがありません。 クリスタルレポートが必要になるかもしれないので、クリスタルレポートについて調べようと本屋さんで、 書籍をパラパラめくってみました。 クリスタルレポートについての専門的な書籍はありませんでしたが、プログラミングの書籍の中に一部解説がある書籍が数冊あり、簡単な使用例についての図と説明がありました。 簡単な例しか載っていないからだったのかもしれませんが・・。どの書籍でも以下のようなことが書かれていました。 レポートのヘッダー/フッダー ページのヘッダー/フッダー 詳細エリア の位置にVisual Studio上のデザイナで帳票イメージを 作成する。 ラベル等の固定的に文言が出力される部分もあれば、 データベースのある項目に関連づいているものもある。 データベースのある項目に関連づいているものに関して、エクスプローラ型のテーブル名と項目名のツリーから項目を帳票イメージにドラックアンドドロップしていくようなイメージでした。 ・発生した素朴な疑問 DBの内容を帳票に出力する場合、デザイナで 設定するこのやり方だと、あらかじめ帳票の出力イメージにあったテーブルイメージのようなビューを定義しておかないと、できないのでは? クリスタルレポートを使う現場では、このように帳票の出力イメージに即した問い合わせをあらかじめビューとして、定義して、デザイナのエクスプローラにでてくるようにして、使用するのが一般的なのでしょうか? この場合、Whereの絞り条件の式の一部が動的に変化する場合はどうするのでしょうか? 書籍の一部に少しだけある解説を見た程度で 通り一辺倒な簡単な例が載ってるものしかみてないので変な質問になってるかもしれませんが・・。

  • クリスタルレポート8でのFormula??たすけてください。

    開発環境 windows2000 SP3 visualbasic6.0 SP5 crystlreport8.0 今クリスタルレポート8で アクセスのMDBのテーブルの中身を レポートに出力しています。 テーブルの中身には Aグループ Bグループ Cグループ  の3つが全て入っているとして VBからクリスタルレポートを出力する際に ワークテーブルに全レコードが入った状況で クリスタルレポートに出力する際に Aグループだけを出力させたいのですが そのようなことは可能でしょうか? 可能であれば方法を教えて下さいませんでしょうか? Formulaというのをちらっと耳にしたのですが 何のことやら・・・涙 元のワークテーブルに対象のレコードだけを 入れておいて全件出力すればよい話なのですが それは今できない状態です。 よろしくお願いします。

  • クリスタルレポートでプレビュー表示

    VB6とクリスタルレポートを使って、印刷画面を作っているのですが、 VB画面の印刷ボタン押下時に、プレビュー画面を出したいのですが、 出し方がわかりません。 どのようにしたら、プレビュー画面を出すことが出来るのでしょうか。 よろしくお願いします。

  • クリスタルレポートのテキスト同士の計算

    VB6を使用してます。 ただ、クリスタルレポートに関しては、まったく使ったことがないのですが、このたび他人が作成した物の改造をしなくてはならなくなりました。 無知ですので、用語など表現がうまくできないと思いますが、以下の手段をご存知の方、ご教授ください。 クリスタルレポートを使用して、MS-SQLServerのデータをプリントアウトしています。 しかし、ここで「列A」と「列B」の和をもう一つの項目として追加する必要がでてきました。 ただし、データベースは手元にないため変更ができません。 列A・Bは、Section1なる「くくり」にされ、データの数だけ表示され、それぞれの行(?)に項目Cを作りAとBの和を表示せねばなりません。 その方法をご存知のかた、ご教授願えませんでしょうか? (クリスタルレポート等の知識がないため、質問内容をうまくまとめることができていないと思いますが、よろしくお願いいたします)

  • クリスタルレポートを教えてください

    始めまして、ouyouです。 仕事でクリスタルレポート調査をしてきました。つい最近SQLについて 学んだばかりです。わからないことがあって、教えていただきたいと思います。 データベースのテーブルから VarChar2型、サイズ40バイト、値は、半角、全角両方含む フィールドを読み込んで、クリスタルレポート上に 2行(1行目:20バイト、2行目は、残りの20バイト)で表示したいのですが、 1行目と2行目の境に全角文字が跨る場合、単純に20バイトで切ると文字化けの 原因などになりますが、このような場合どのような処理をしたらいいでしょうか? 申し訳ありませんがよろしくお願いします。

  • クリスタルレポートでメモリ不足・・・

    初めて質問します。 WINDOWS2000 Pro VB6.0 データベース:ORACLE VBで売上伝票を入力して、クリスタルレポートで伝票発行しようとしています。 用紙はA4縦でレーザープリンターから出力させようとしています。 クリスタルレポートで線も引いています。 1枚に3回同じ内容のものを印刷させようと設定しているのですが(全てページヘッダーに設定しています。)VBから印刷をかけると次のようなエラーが出ます。 “CRWPRINT.CRW STATUS : 500 メモリ不足のため操作を実行できません ” というメッセージです。 データは作成されているので、クリスタルレポートで直接出すと印刷されます。 クリスタルレポート側で半分ほどまで項目を減らしてみたりしたのですが、結果は同じでした・・・ クリスタルレポート側の設定でしょうか? それともVB?はたまたオラクルのせっていなのでしょうか? なにか複雑でもうしわけありませんがよろしくお願いいたします。

  • クリスタルレポートのプレビュー画面を常に手前に表示しておく

    VB6.0 SP5 で クリスタルレポートの帳票を 作っています。 今、プレビュー画面が開いているFormのうしろに回り込んでしまうという現象が起きていて、これを防ぎたいのですが、どなたか良い方法を知りませんでしょうか?

  • VB.NET→クリスタルレポートにおける変数の渡し方

    VB.NETの中で、クリスタルレポートを使用しているのですが、.NET上で配列に入れた物とテーブルの1カラムの値を比較し、一致するレコードだけを抽出したいのですが、.NET上で配列にいれた値をどうやってクリスタルレポートに渡せば良いのでしょうか?

  • クリスタルレポート+文字列セット

    環境:Windows2000+VB5.0 既存システムの変更をしています。 VB5.0でつくっており、CrystalReportで レポート出力を行っています。 私はCrystalReportsを使ったことないのですが、 VBのフォームで 名前テキストボックス、社員番号テキストボックスがあり、 そこで印刷プレビューボタンをクリック、 そうするとプレビュー画面があがる、といった 場合、ヘッダーに名前テキストの内容と社員番号テキストの内容を 印字させたいのですが、どうしたらいいのでしょうか? 名前も社員もデータベースにあるものでなく、 フォームにあるテキストに入力されたものを使います。 ヘルプなどをみていると、 Rpt.Formulas(0) = "名前 = 'ああああ'" とやるとOKと書いていましたが、 その後、Rpt.Action = 1 でエラーになりました。(「式名が不正です。」) ちなみに、クリスタルレポートには、名前というテキストフィールドを ヘッダーにはりつけ、その部分をセットしようとしているのですが・・・ よろしくお願いいたします。

  • クリスタルレポートからPDFを作るには?

    VB6.0(SP6),Crystal Report8.5 で開発をしています。 クリスタルレポートからPDFファイルまたはJPEGファイルが作りたいのですが、方法が全然分からず困っています。 何かご存知の方は教えてください。 そもそも8.5ではそういう事が出来るのでしょうか? また、クリスタルレポートからの印刷時、プリンタにAdobePDFを指定すればPDFファイルは作れるのですが、その際、ファイルの保存先を聞くウィンドウが表示されてしまいます。 ユーザ操作なしにPDFを作りたいので、このようなウィンドウを表示させなくする方法をご存知でしたら教えてください。 宜しくお願いします。

専門家に質問してみよう