質問するログイン新規登録

質問編集履歴

5

追記

2021/10/30 07:44

投稿

mnbwqz
mnbwqz

スコア74

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

4

追記

2021/10/30 07:44

投稿

mnbwqz
mnbwqz

スコア74

title CHANGED
File without changes
body CHANGED
@@ -44,7 +44,8 @@
44
44
  で、データを書き込みます。
45
45
 
46
46
 
47
- (10/30 16:36 追記)
47
+ (10/30 16:43 追記)
48
48
  皆様ご解答ありがとうございます。
49
49
  NULL対処の方法が分かりました。(NZ関数使用・Variant型使用)
50
+ textboxAとtableCからはNULLが出てくる可能性があり、textboxはA以外にも複数あり、いずれのtextboxも「文字表示」プロシージャを呼び出すので、NULL対処の処理は一行書くだけで済むよう、「文字表示」プロシージャの引数をVariantにしようと思っています。
50
- 段階でNULL対処をする目安はありますでしょうか。
51
+ プログラム基本からするとこの対処法が望ましいというのはありますでしょうか。よろしくお願いします。

3

追記

2021/10/30 07:43

投稿

mnbwqz
mnbwqz

スコア74

title CHANGED
File without changes
body CHANGED
@@ -41,4 +41,10 @@
41
41
  2) textboxA内の文字を全部消します。
42
42
  その後、クエリにて
43
43
  UPDATE tableC SET 備考=textboxA WHERE 項目名 IN ('10月分');
44
- で、データを書き込みます。
44
+ で、データを書き込みます。
45
+
46
+
47
+ (10/30 16:36 追記)
48
+ 皆様ご解答ありがとうございます。
49
+ NULL対処の方法が分かりました。(NZ関数使用・Variant型使用)
50
+ どの段階でNULL対処をするか、目安はありますでしょうか。

2

追記

2021/10/30 07:37

投稿

mnbwqz
mnbwqz

スコア74

title CHANGED
File without changes
body CHANGED
@@ -16,4 +16,29 @@
16
16
  長さ0の文字列を設定するようにするか、
17
17
  2)テキストボックスAを空白にした場合に、
18
18
  フィールドBに```NULL```が設定されないように処理するか、
19
- どちらにすればよいでしょうか。
19
+ どちらにすればよいでしょうか。
20
+
21
+ (追記)
22
+ テキストボックスAは連結テキストボックスではありません。
23
+ テキストボックスAがNULLだとエラーになる処理は
24
+ 「文字表示」プロシージャの引数として textboxA を指定した場合、
25
+ 「文字表示」プロシージャに処理が移る前に、
26
+ 「実行時エラー94 Nullの使い方が不正です。」
27
+ と表示されて、プログラムが止まります。
28
+
29
+ Private Sub 文字表示(表示文字 As String)
30
+ MsgBox (表示文字)
31
+ End Sub
32
+
33
+ tableC
34
+ |項目名 |備考|
35
+ |:--|--:|
36
+ |10月分| |
37
+ |11月分|延期|
38
+
39
+ 1) textboxA = DLookup("備考", "tableC", "項目名='10月分'")
40
+
41
+ 2) textboxA内の文字を全部消します。
42
+ その後、クエリにて
43
+ UPDATE tableC SET 備考=textboxA WHERE 項目名 IN ('10月分');
44
+ で、データを書き込みます。

1

補足

2021/10/30 06:25

投稿

mnbwqz
mnbwqz

スコア74

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