回答編集履歴

1

説明追記

2021/10/30 07:57

投稿

hatena19
hatena19

スコア33763

test CHANGED
@@ -31,3 +31,27 @@
31
31
  End Sub
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ > textboxAとtableCからはNULLが出てくる可能性があり、textboxはA以外にも複数あり、いずれのtextboxも「文字表示」プロシージャを呼び出すので、NULL対処の処理は一行書くだけで済むよう、「文字表示」プロシージャの引数をVariantにしようと思っています。
38
+
39
+ プログラムの基本からするとこの対処法が望ましい、というのはありますでしょうか。よろしくお願いします。
40
+
41
+
42
+
43
+ 状況によりますが、
44
+
45
+ VBAコードを記述するときは、Nullが返る可能性がある場合が、変数や引数の宣言の段階でVariant型で宣言するのがいいと思います。
46
+
47
+ その後、IsNull関数でNullかどうか判断して処理を場合分けします。
48
+
49
+
50
+
51
+ NZ関数はNullを0または""に自動変換してくれるのでNullによりエラーを簡単に回避してくれますが、
52
+
53
+ Nullと0や""では意味が違う場合もあると思いますので、自分はなるべく使わないようにしてます。
54
+
55
+
56
+
57
+ クエリ内の式や、コントロールソースの式などで、VBAの関数を使う場合は、Nullを受け付けずエラーを出す関数や式の時はNZ関数をやむを得ず使う場合もあります。