dポイントプレゼントキャンペーン実施中!

フォームで入力項目を無視し、データを入れなかった場合のレポートへの非表示をお聞きします。
下記のデータをレポートで表示する際、文章中に組み込んでいるのですが、データが無かった場合は前後の文章も
非表示にするにはどうすればよいのでしょうか?

例えば:下記のような入力フォームがあります。
□お客様氏名   山田花子
□契約日      05/10/04
□総額       50万円
□支払回数    10回
□分割支払金額 5万円

★レポート表示★
山田花子様へ
平成17年10月4日のご契約ありがとうございます。
お支払内容についてお知らせします。
-分割金総額50万円の内、5万円をお支払日に口座からお引き落しいたします。-
お支払回数は10回となります。

★上記の内容が1回払いの時は、以下のようにするにはどうすれば良いのでしょうか?★
山田花子様へ
平成17年10月4日のご契約ありがとうございます。
お支払内容についてお知らせします。
お支払回数は1回となります。

ご回答よろしくお願いいたします!!

A 回答 (2件)

#1の方とは違うやり方は


IIf関数を使って分岐させて表示するようにすれば出来ます。IIf関数は結構使えますので
入力フォームが開いていてそのフォーム上のレコードをレポートに出力するとして・・
レポートに非連結のテキストコントロールを作りコントロールソースに

=[Forms]![フォーム名]![お客様名] & "様へ"

で1行目の 山田花子様へ(フォーム上のお客様名に表示されているレコード) が出来ます。
2行目は同様にテキストコントロールを作りコントロールソースに

=Format(Forms!フォーム名!契約日,"ggge\年mm\月dd\日") & "のご契約ありがとうございます。"

3行目は固定のようなのでラベルで お支払内容についてお知らせします。 で良いと思います。
4行目もテキストコントロールを作り

=IIf(Forms!フォーム名!支払回数>1,"-分割金総額" & Forms!フォーム名!総額 & "の内、" & Forms!フォーム名!分割支払回数 & "をお支払日に口座からお引き落しいたします。-","お支払回数は" & Forms!フォーム名!支払回数 & "回となります。")

この記述で支払回数が1より大きい場合は -分割金総額(フォーム上の総額の値)の内、(分割支払金額の値)をお支払日に口座からお引き落しいたします。-
 になります。1の場合はお支払回数は1回となります。と表示します。
5行目も同様です

=IIf(Forms!フォーム名!支払回数>1," お支払回数は" & Forms!フォーム名!分割支払回数 & "回となります。","")

支払回数が1より大きい場合はフォーム上の支払回数の値をお支払回数は(支払回数の値)回となります。と表示し1の場合は""で空白で表示されます。

各行のテキストコントロールを作らなくてはいけませんがIIfの分岐で処理すれば出来ます。
各記述をコピーしてフォーム名を使っているフォーム名に変更すれば出来ます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
IIf関数でやってしまった後、ご回答、拝見しました。
>IIf関数は結構使えますので
私も良く使います^^!
他の関数や違うやり方でやってみたかったのですが。。。
もっと勉強しま~す!!

お礼日時:2005/10/08 15:08

私なら、



レポート上に「非連結」のテキストコントロールを置き、

そのテキストコントロールを置いたセクションのFormatイベントに、そのテキストコントロールへ文字列を代入するコードを書きます。

「○○様へ」から「有難うございます」を入れ、
さらにその後、分割払いなら
「-分割金総額...」の文言を入れ
さらに「お支払回数...」を追加します。

改行を入れたいときは「VbCrLf」でつなげればOKです。
例:
strAnnounce = Me(氏名) & "様へ" & VbCrLf
strAnnounce = strAnnounce & Format(Me(契約日付),"ggge年m月d日") & "のご契約有難うございます。" & VbCrLf & "お支払内容についてお知らせします。" & VbCrLf
If Me(支払価数) > 1 Then
strAnnounce = strAnnounce & "-分割金額..." & VbCrLf
End If
strAnnounce = strAnnounce & "お支払回数は" & Me(支払回数) & "回になります。"
    • good
    • 0
この回答へのお礼

お返事おそくなりました。
結局、IIf関数でやってしまいました。。。
次回は、教えていただいた文字列の代入を使ってみたいと思います。ありがとうございました!

お礼日時:2005/10/08 15:02

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

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

関連するカテゴリからQ&Aを探す