hiroton
2025/04/10 (木) 10:48:08
b4b71@f966d
通常、非連結のテキストボックスに""(長さ0の文字列)が入ることはありません
フォーム上での人の操作で「何か入力」→「Delete等で削除」を行うと、非連結のテキストボックスの内容はNULLになります。(レコードソースに連結されたコントロールの場合、設定によっては""が入る場合があります)
VBAによる操作等で、直接 Me!テキストボックス = "" のような処理を行うと、非連結のテキストボックスでもその値が""になったりはします
そもそも気にしていなかったのですが、逆に、「備考を削除したい」という場合はないのでしょうか?
「NULLなので更新対象外」と、「内容削除のために""が入力されている」は実作業の上では判別できないので、「備考を削除する」チェックボックスを追加で用意するとかになると思います
また、とりあえず、回答ではIsNull()を使っていますが、NULLも""同じように扱われればよいなら Me!テキストボックス & "" = "" で判定できます
Select Case True
Case Me!Delete_Biko
strSQL = strSQL & ", [備考]=''"
'// データ構造によっては
'// strSQL = strSQL & ", [備考]=NULL"
Case Me!change_Biko & "" <> ""
strSQL = strSQL & ", [備考]='" & Me!change_Biko & "'"
End Select
そのほかのコントロールについても、データ型が文字列型以外になるのならばIsDate()やIsNumeric()等で判定してあげるとより良いと思います
Not IsNull(Null) ' =>False
Not IsNull("") ' =>True
IsDate(Null) ' =>False
IsDate("") ' =>False
通報 ...