質問編集履歴

5

追記

2021/10/30 07:44

投稿

mnbwqz
mnbwqz

スコア74

test CHANGED
File without changes
test CHANGED
@@ -96,6 +96,6 @@
96
96
 
97
97
  NULL対処の方法が分かりました。(NZ関数使用・Variant型使用)
98
98
 
99
- textboxAとtableCからはNULLが出てくる可能性があり、textboxはA以外にも複数あり、いずれのtextboxも「文字表示」プロシージャを呼び出すので、NULL対処の処理は一行書くだけで済むよう、「文字表示」プロシージャの引数をVariantにしようと思っています。
99
+ textboxAとtableCからはNULLが出てくる可能性があり、textboxはA以外にも複数あり、いずれのtextboxも「文字表示」プロシージャを呼び出すので、NULL対処の処理は一行書くだけで済むよう、「文字表示」プロシージャの引数をVariantにしようと思っています。
100
100
 
101
101
  プログラムの基本からするとこの対処法が望ましい、というのはありますでしょうか。よろしくお願いします。

4

追記

2021/10/30 07:44

投稿

mnbwqz
mnbwqz

スコア74

test CHANGED
File without changes
test CHANGED
@@ -90,10 +90,12 @@
90
90
 
91
91
 
92
92
 
93
- (10/30 16:36 追記)
93
+ (10/30 16:43 追記)
94
94
 
95
95
  皆様ご解答ありがとうございます。
96
96
 
97
97
  NULL対処の方法が分かりました。(NZ関数使用・Variant型使用)
98
98
 
99
+ textboxAとtableCからはNULLが出てくる可能性があり、textboxはA以外にも複数あり、いずれのtextboxも「文字表示」プロシージャを呼び出すので、NULL対処の処理は一行書くだけで済むよう、「文字表示」プロシージャの引数をVariantにしようと思っています。
100
+
99
- 段階でNULL対処をするか目安はありますでしょうか。
101
+ プログラム基本からするとこの対処法が望ましいというのはありますでしょうか。よろしくお願いします。

3

追記

2021/10/30 07:43

投稿

mnbwqz
mnbwqz

スコア74

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,15 @@
85
85
  UPDATE tableC SET 備考=textboxA WHERE 項目名 IN ('10月分');
86
86
 
87
87
  で、データを書き込みます。
88
+
89
+
90
+
91
+
92
+
93
+ (10/30 16:36 追記)
94
+
95
+ 皆様ご解答ありがとうございます。
96
+
97
+ NULL対処の方法が分かりました。(NZ関数使用・Variant型使用)
98
+
99
+ どの段階でNULL対処をするか、目安はありますでしょうか。

2

追記

2021/10/30 07:37

投稿

mnbwqz
mnbwqz

スコア74

test CHANGED
File without changes
test CHANGED
@@ -35,3 +35,53 @@
35
35
  フィールドBに```NULL```が設定されないように処理するか、
36
36
 
37
37
  どちらにすればよいでしょうか。
38
+
39
+
40
+
41
+ (追記)
42
+
43
+ テキストボックスAは連結テキストボックスではありません。
44
+
45
+ テキストボックスAがNULLだとエラーになる処理は
46
+
47
+ 「文字表示」プロシージャの引数として textboxA を指定した場合、
48
+
49
+ 「文字表示」プロシージャに処理が移る前に、
50
+
51
+ 「実行時エラー94 Nullの使い方が不正です。」
52
+
53
+ と表示されて、プログラムが止まります。
54
+
55
+
56
+
57
+ Private Sub 文字表示(表示文字 As String)
58
+
59
+ MsgBox (表示文字)
60
+
61
+ End Sub
62
+
63
+
64
+
65
+ tableC
66
+
67
+ |項目名 |備考|
68
+
69
+ |:--|--:|
70
+
71
+ |10月分| |
72
+
73
+ |11月分|延期|
74
+
75
+
76
+
77
+ 1) textboxA = DLookup("備考", "tableC", "項目名='10月分'")
78
+
79
+
80
+
81
+ 2) textboxA内の文字を全部消します。
82
+
83
+ その後、クエリにて
84
+
85
+ UPDATE tableC SET 備考=textboxA WHERE 項目名 IN ('10月分');
86
+
87
+ で、データを書き込みます。

1

補足

2021/10/30 06:25

投稿

mnbwqz
mnbwqz

スコア74

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
+ フォームを作っていてわからないことがあります。
2
+
3
+
4
+
1
- テキストボックスAを空白にした後
5
+ フォーム上のテキストボックスAを空白にすると値は```NULL```となり
2
6
 
3
7
  テキストボックスAの値でテーブルのフィールドB(値は1つのみ)を更新すると、
4
8