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

アクセスのレポートの関数について

どなたか、助けてください。
困っています。

アクセス2010です。

レポートにサブレポートを組み込んでします。

レポート名  :A(出力項目:氏名)
サブレポート名:B(出力項目:定期残高)

レポートAとサブレポートBは顧客番号で結合しています。

レポートAに配置したサブレポートのテキストボックス(定期残高)のプロパティシートを開き、

コントロールソースに次の式を入力しました。

=IIf([定期残高] Is Null,"定期預金のお取り扱いはありません",[定期残高])

入力後、レポートAを実行すると、サブレポートの「定期残高」は次のようになります。

①定期預金の契約ある顧客
  定期預金の残高が左寄せのカンマ区切りなしで表示されます。

②定期預金の契約がない顧客
  空白で表示されます。

【困っていること】
上記①は右寄せでカンマ区切りありの数値で表示したいです(できれば、数値の後に"円"を付けたいです。

上記②は"定期預金のお取り扱いはありません"を表示したいです。

【可能ですか?】
もし、可能であればですが、定期預金の契約がない場合、サブレポートBの枠は出力せずに
”お取り扱いがありません”の文言のみを出力させることは可能でしょうか?

A 回答 (2件)

サブレポートのレコードがない場合についてですね。



やり方だけですけど
1.メインレポートにあるサブレポートと同じ位置に「お取り扱いがありません」と
表示が出るコントロールを作ります。(ラベルやコントロールボックス)

2.メインレポートの詳細セクションにサブレポートがある場合
詳細セクションのフォーマット時のイベントで
Dcountを使いサブレポートのレコード件数を確認します。

3.レコード件数が0の場合は「お取り扱いがありません」のコントロールの
可視プロパティをTrue、サブレポートの可視プロパティをFalse
0以外の場合はその逆

これでサブレポートのレコードが0のときはお取り扱いがありませんと表示され
0以外のときはサブレポートが表示されます。

コードはサブレポート 非表示とかで探せば見つかると思います。
    • good
    • 1
この回答へのお礼

y504さん 親切にご回答ありがとうございます。!(^^)!

1~3の意味は分かりました♪

ただ、グーグルで「サブレポート 非表示」で検索しましたが、みなさんが書いてある内容を私が理解することができませんでした(-_-;)

y504さん、すみません。
もう少し、おつきあいして頂けませんでしょうか?

言われたとおり、下記③のとおりラベルを作成しました。
(言い忘れましたが、サブレポートは3つあります。すみません)

情報が足らないかもしれませんが、フォーマット時のイベントに記入する
コードをもう少し教えて頂けませんでしょうか?
(貼り付けられると助かります !(^^)! すみません、わがままで)

①レポート名:R_取引案内

②サブレポート名:R_定期
        R_普通
         R_出資

③ラベル名「txt_定期用」、標題「定期のお取り扱いはありません」
     「txt_普通用」、標題「普通のお取り扱いはありません」
     「txt_出資用」、標題「出資のお取り扱いはありません」

お礼日時:2016/05/20 16:31

>①は右寄せでカンマ区切りありの数値で表示したいです(できれば、数値の後に"円"を付けたいです。


サブレポートのテキストボックス(定期残高)のプロパティは設定していますか?
文字位置を右に設定、
コントロールソースに
=IIf([定期残高] Is Null,"定期預金のお取り扱いはありません",Format([定期残高],"#,##0")&"円")

>②は"定期預金のお取り扱いはありません"を表示したいです。
質問に書かれている数式で問題ないと思います。
Nullに見えるけどNullじゃないのだと思います。
[定期残高] Is Null を Len([定期残高])=0 に変更して変わるか試してみてください。
    • good
    • 0
この回答へのお礼

y504さん、親切にご回答ありがとうございます♪

教えて頂いた①はできました!!ありがとうございます。!(^^)!

②は変わりませんでした。(-_-;)
空白と言いましたが、よくみると、定期預金の契約がない(データがない)顧客は、

サブレポート自体が表示されていないようです。

サブレポートの表示がない場合、代わりに"お取り扱いがありません"を出すことは可能でしょうか?

お礼日時:2016/05/20 13:17

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