質問: [規則等名] '既存の規則名をもう一度打ち込む me![規則等名].requery end if else msgbox "チェックボックスはfalse", vbokonly, "test" end if end sub このとき、新規レコード作成の画面にてチェックボックスをクリックすると、第一の条件式にて、チェックボックスの真偽の判定は問題ないのですが、第二の条件式で名前欄もid欄も空白(新規レコードなので)だとしてもelseの処理となってしまいます。 コントロール内が空白かどうかを判定する場合の条件式が間違っているのでしょうか。 詳しい方、ご教示ください。
回答: テキスト型の場合、デフォルトの設定では、未入力の初期値は ""(空文字列)ではなく null です。 nullはisnull関数で判定します。下記のように変更すればいいでしょう。 if isnull(me.制定規則台帳id) then 'かつ、id欄が空白ならば if isnull(me.規則等名.value) then 'かつ、規則名欄が空白ならば me.規則等名.value = null 'nullを打ち込む null と "" は見た目では判別がつかないので、nullだけ許容する、または、""だけ許容する、のどちらかの設定にしておいた方が混乱がないでしょう。 nullだけ許容する設定は、フィールドプロパティで下記のように設定します。 値要求 いいえ 空文字列の許可 いいえ