アプリ版:「スタンプのみでお礼する」機能のリリースについて

環境:ACCESS2003&XP
フォームにボタンをつけ、クリックするとレポートがプレビューされるようにしてあります。レポートのレコードソースはクエリーです。
そのクエリーには、"担当者名"と”マスター担当者”というフィールドがあります。
フォームのオプショングループのオプションボタンを見て、レポートのテキストボックス(txt担当者名)のコントロールソースを変えようとしています。レポート上では、テキストボックス(txt担当者名)のコントロールソースはブランクにしてあり、レポートの詳細(txt担当者名はレポートの詳細にはいっています)フォーマット時に以下のVBAを記述しています。
If Forms![売上一覧表_検索].[opt条件担当者] = "1" Then
Me.txt担当者名 = [担当者名]
Else
Me.txt担当者名 = [マスター担当者]
End If
データ上、担当者名は入っているのですが、レポートでは何も表示されません。
ご存知の方、よろしくお願いします。

A 回答 (2件)

質問自体の答えは既に出ていますので別の角度から・・・。



1、レポートヘッダーに非表示で[担当者区分]を配置。

=[Forms]![フォーム1]![担当者区分]

2、txt担当者のコントロールソースを設定。

=IIf([担当者区分]=1,[担当者名],[マスター担当者])

[担当者名],[マスター担当者]を非表示で[詳細]に配置するのはNo1さんの指摘の通り。

<補足>

Private Sub コマンド0_Click()
On Error Resume Next
  DoCmd.OpenReport "test", acPreview, , , , Me.担当者区分
End Sub

と、OpenArgs を利用するとレポートでフォームを参照する手間を省けます。

・txt担当者のコントロールソースは次のように書けます。

=IIf(OpenArgs="1",[担当者名],[マスター担当者])

VBAで

Me.txt担当者名=IIf(OpenArgs="1",[担当者名],[マスター担当者])

で記述しても同じ結果です。
    • good
    • 0

レポートのVBAではレコードソースではなくて


レポートに配置されてるものしか参照出来ません。

VBAでやるなら、非表示のテキストボックス
[担当者名]、[マスター担当者]を詳細セクションに配置しておきます。

あるいは、txt担当者名のコントロールソースを
=IIf([Forms]![売上一覧表_検索].[opt条件担当者]="1",[担当者名],[マスター担当者])
とするかですね。
    • good
    • 0

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

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

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


このQ&Aを見た人がよく見るQ&A