チョコミントアイス

お世話になっています。
開発環境 
 VisualStudio6.0
 クリスタルレポート8.5です。
VBプロジェクト内でクリスタルレポートをデザインする方法で開発しています。

フィールドの表示形式の設定方法がわかりません。

1、数値フィールドで日付を持っています。(20040304など)
このフィールドをスラッシュ編集で表示するにはどうしたらいいですか?

式フィールドで
Left(フィールド,4) & "/" & Mid(フィールド,5,2) & "/" & Right(フィールド,2)

と、しようと思ったのですが、結果は"20,0/40/00" となってしまいました
  勝手に数値をカンマ編集、小数2桁表示しているようです。

2、同じく数値フィールドで、数値にゼロを足して表示する方法がわかりません。

例えば、19なら0000019、1なら0000001、110なら0000110 というふうにしたいです。

よろしくお願い致します。

A 回答 (2件)

#1です。


私はてっきりVBで持っているデータをクリスタルレポートの式フィールドに渡すものだと思っていたのでFormat関数を利用したらどうかと思ったのですが、MDBの情報をクリスタルレポートで出すということなんですね。

フィールドのプロパティにそういうのってなかったでしょうか…。

ちょっとそれは考えていなかったので調べてみます。
役に立てなくてすみません…。

もしどうしても出来ないのであれば、書式の設定をしたいものだけ(この場合は日付と0フォーマットしたい数字)をデータベースからVBに読み込んで、そこからクリスタルレポートの式フィールドにFormat関数で変換したものを渡したらどうでしょうか。
一応VBにはコンポーネントにクリスタルレポートの操作が出来るものがあるのでそれを利用してみるのもいいのではないかと思います。

本当、お役に立てなくてすみません…

この回答への補足

ご親切に回答ありがとうございます。

現行プログラムで、同様の処理をしているプログラムをみつけました。(作った人とは連絡とれません。みんな外注在宅プログラマーなので・・・。一応発注元のリーダーさんに相談しているのですが、いつもレス遅くって待ってられない状態なのです(T.T))

その人は、参照したフィールドオブジェクトを非表示にして、別のテキストオブジェクトをつくり、レポートの詳細_FormatイベントでVBのFormat関数を使っていました。

ですが、一生懸命探したのですが、参照しているフィールドオブジェクトはデザイン画面では見つからず、フィールドオブジェクトを非表示にするプロパティも見つけられませんでした・・・。

もし、そのへんの情報お持ちの方いらっしゃいましたら、教えてください。よろしくお願い致します。

補足日時:2004/03/05 18:07
    • good
    • 0
この回答へのお礼

ありがとうございました。あれから試行錯誤して、フィールドオブジェクトの非表示の方法がわかりました。

プロパティウインドウ、一生懸命見てたのですが、フィールド右クリック→書式設定で非表示を設定する事が出来ました。大変失礼しました。ありがとうございました。

お礼日時:2004/03/11 09:25

クリスタルレポートのフィールドにフォーマット関数で変換してから送ったらどうでしょうか?


日付であれば、
クリスタルレポートのフィールド = Format("20040304","yyyy/mm/dd")
でスラッシュ入りの日付に変換してくれます。
また、数字もゼロフォーマットをすればよいのではないでしょいうか?
クリスタルレポートのフィールド = Format("110","0000000")
で0000110となします。
ただし、作成される文字は文字型なので、フィールドが数値型であると0がカットされて110になってしまうかもしれませんのでその辺りの設定を確かめてください。
Format関数についてはヘルプにのっているので見てみてください。

この回答への補足

早速のご回答ありがとうございます。

"データを送る" というのはどういう意味でしょうか?
現在「データベースの追加」でSQL文を指定して、
その結果ツリー表示されるデータベースフィールドをレポートに配置するという形でデザインしているのですが、その方法とは全く違うものですか?

補足日時:2004/03/05 15:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報