最新トピック
8
20 日前
Hatena様にご質問 20 日前
1
2 ヶ月前
排他制御 2 ヶ月前
6
5 ヶ月前
モジュールでカレントフォームのコントロールを使うには 5 ヶ月前
7
6 ヶ月前
日付のテキストボックスからフォームが開けません 6 ヶ月前
9
6 ヶ月前
レポートにおける数値の間隔を広げる方法 6 ヶ月前
12
6 ヶ月前
リストボックスから複数選択しそれをテーブルに格納したい 6 ヶ月前
タグリスト
Markdown テーブル生成
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
NULLは比較演算子による演算ができません詳しいことはかなり複雑なので、一通り情報に目を通してみてください
https://www.google.com/search?q=VBA NULL 比較
本来、
Nullの可能性がある場合の比較は、特別な処理・特別な判定をする必要がありますが、「VBAにおいてはNullを比較演算に使うと全てFalseとして扱われる」という特徴があります。(コードの実装としてこれを活かすのは本来よろしくありません)つまり、
とすると、コンボボックスの値に関わらず常に
Falseの処理が為されるため、意図しない動作をします逆に、
<>""の判定においてコンボボックスの値がNullの場合はFalseを返して欲しいときにはFalseだった場合の処理がされるので表面上は問題なく動作しているというわけです今回のような場合であれば、コンボボックスの値をチェックして
Null比較をしないようにするのが正解で、事前にコンボボックスの値をチェックしてコンボボックスの値がNullだったら""とみなすようにします。たとえばNz関数を使ってNz 関数
蛇足
Nullなら空文字とみなしたいなら「"" & Me!cb1 <> ""」くらいの手抜きで済ませちゃうんですけどね