Microsoft Access 掲示板

フォームでのIIF関数

2 コメント
views
4 フォロー

お世話になります。
フォームにて、社員と数値というテキストボックスがあります。
社員はコンボボックスです。
社員がAさんだった場合、数値には1を、そうでなければなにもしないとしたいのですが、
社員の更新後イベントプロパティに、=IIf([社員]="A",[数値]=1)としたら間違いですか?
数値のテキストボックス側に式を入れるべきなのでしょうか?
その場合、イベント個所はどこになりますか?
両方やってみたのですが何も変更されないので質問させていただきました。
初心者で的外れな質問かと思いますがよろしくお願い致します。

aya
作成: 2020/11/21 (土) 15:45:40
通報 ...
1
hatena 2020/11/21 (土) 16:00:27 修正

フォームにて、社員と数値というテキストボックスがあります。
社員はコンボボックスです。

数値というテキストボックスは連結フォームですか。
テキストボックスに表示するだけではなく連結したフィールドに値を入力したいということでしょうか。

社員の更新後イベントプロパティに、=IIf([社員]="A",[数値]=1)としたら間違いですか?

はい、間違いです。
IIfの第3引数に [数値]=1 と設定しても[数値]に値が代入されるわけではありません。
引数に設定できるのはでありステートメントは設定できません。

表示だけでいいなら、数値テキストボックスのコントロールソースに
=IIf([社員]="A",1)
と設定します。
数値フィールドに入力したいのなら、イベントプロシージャにコードを記述するかマクロを設定する必要があります。

Private Sub 社員_AfterUpdate()
    If Me.社員 = "A" Then
        Me.数値 = 1
    End If
End Sub
2

hatenaさん、ありがとうございました!
とってもよくわかりました!
コントロールソースに記述したら希望通りになりました。ありがとうございます。