- ベストアンサー
クリスタルレポート(8.5)の書式設定
- クリスタルレポート(8.5)を使用したVBプロジェクト内でのフィールド表示形式の設定方法について説明します。
- 数値フィールドで日付をスラッシュ編集して表示する方法について説明します。
- 数値フィールドにゼロを足して表示する方法について説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 私はてっきりVBで持っているデータをクリスタルレポートの式フィールドに渡すものだと思っていたのでFormat関数を利用したらどうかと思ったのですが、MDBの情報をクリスタルレポートで出すということなんですね。 フィールドのプロパティにそういうのってなかったでしょうか…。 ちょっとそれは考えていなかったので調べてみます。 役に立てなくてすみません…。 もしどうしても出来ないのであれば、書式の設定をしたいものだけ(この場合は日付と0フォーマットしたい数字)をデータベースからVBに読み込んで、そこからクリスタルレポートの式フィールドにFormat関数で変換したものを渡したらどうでしょうか。 一応VBにはコンポーネントにクリスタルレポートの操作が出来るものがあるのでそれを利用してみるのもいいのではないかと思います。 本当、お役に立てなくてすみません…
その他の回答 (1)
- xyz0108f
- ベストアンサー率39% (80/202)
クリスタルレポートのフィールドにフォーマット関数で変換してから送ったらどうでしょうか? 日付であれば、 クリスタルレポートのフィールド = Format("20040304","yyyy/mm/dd") でスラッシュ入りの日付に変換してくれます。 また、数字もゼロフォーマットをすればよいのではないでしょいうか? クリスタルレポートのフィールド = Format("110","0000000") で0000110となします。 ただし、作成される文字は文字型なので、フィールドが数値型であると0がカットされて110になってしまうかもしれませんのでその辺りの設定を確かめてください。 Format関数についてはヘルプにのっているので見てみてください。
補足
早速のご回答ありがとうございます。 "データを送る" というのはどういう意味でしょうか? 現在「データベースの追加」でSQL文を指定して、 その結果ツリー表示されるデータベースフィールドをレポートに配置するという形でデザインしているのですが、その方法とは全く違うものですか?
お礼
ありがとうございました。あれから試行錯誤して、フィールドオブジェクトの非表示の方法がわかりました。 プロパティウインドウ、一生懸命見てたのですが、フィールド右クリック→書式設定で非表示を設定する事が出来ました。大変失礼しました。ありがとうございました。
補足
ご親切に回答ありがとうございます。 現行プログラムで、同様の処理をしているプログラムをみつけました。(作った人とは連絡とれません。みんな外注在宅プログラマーなので・・・。一応発注元のリーダーさんに相談しているのですが、いつもレス遅くって待ってられない状態なのです(T.T)) その人は、参照したフィールドオブジェクトを非表示にして、別のテキストオブジェクトをつくり、レポートの詳細_FormatイベントでVBのFormat関数を使っていました。 ですが、一生懸命探したのですが、参照しているフィールドオブジェクトはデザイン画面では見つからず、フィールドオブジェクトを非表示にするプロパティも見つけられませんでした・・・。 もし、そのへんの情報お持ちの方いらっしゃいましたら、教えてください。よろしくお願い致します。