回答編集履歴

5

説明補足

2019/09/13 13:24

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  コードは、テキストボックスのChangeイベントではなく、AfterUpdateイベントに移動してください。
30
30
 
31
- Changeイベントだと一文字入力しただけでも発生してしまいます。
31
+ Changeイベントだと一文字入力しり削除しただけでも発生してしまいます。一文字入力するたびに新規レコードが追加されたら困りますよね。また、日付選択カレンダーから日付を入力した場合は、Changeイベントは発生しません。これは仕様です。
32
32
 
33
33
 
34
34
 

4

修正

2019/09/13 13:24

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- `#` で囲むのはSQLの文法です。
55
+ テキストとして `#` で囲むのはVBA上でSQLを扱うときの文法です。
56
56
 
57
57
  DAOのレコードセットのフィールドに代入する場合は、日付/時刻型で代入すればOKです。
58
58
 

3

コード変更

2019/09/13 09:34

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -40,7 +40,11 @@
40
40
 
41
41
  If IsDate(Me!Tx仕入日.Value) Then
42
42
 
43
+ rs.AddNew
44
+
43
- rs.Fields("仕入日").Value = Me!Tx仕入日.Value
45
+ rs.Fields("仕入日").Value = Me!Tx仕入日.Value
46
+
47
+ rs.UpDate
44
48
 
45
49
  End If
46
50
 

2

書式の改善

2019/09/13 09:33

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- # で囲むのはSQLでの文法です。
51
+ `#` で囲むのはSQLでの文法です。
52
52
 
53
53
  DAOのレコードセットのフィールドに代入する場合は、日付/時刻型で代入すればOKです。
54
54
 

1

追記

2019/09/13 09:31

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -9,3 +9,53 @@
9
9
 
10
10
 
11
11
  とりあえずは、設定するイベントは Changeイベントではないことは確かです。
12
+
13
+
14
+
15
+ 追記
16
+
17
+ ---
18
+
19
+ 上記の情報提供がないので、
20
+
21
+ 非連結フォームとして回答します。
22
+
23
+ 連結フォームなら、OpenRecordsetする必要はないので。
24
+
25
+
26
+
27
+ まず、
28
+
29
+ コードは、テキストボックスのChangeイベントではなく、AfterUpdateイベントに移動してください。
30
+
31
+ Changeイベントだと一文字入力しただけでも発生してしまいます。
32
+
33
+
34
+
35
+ 『T01-1_仕入登録』テーブルの「仕入日」フィールドのデータ型が日付/時刻型だとしたら、下記に変更してください。
36
+
37
+
38
+
39
+ ```vba
40
+
41
+ If IsDate(Me!Tx仕入日.Value) Then
42
+
43
+ rs.Fields("仕入日").Value = Me!Tx仕入日.Value
44
+
45
+ End If
46
+
47
+ ```
48
+
49
+
50
+
51
+ # で囲むのはSQLでの文法です。
52
+
53
+ DAOのレコードセットのフィールドに代入する場合は、日付/時刻型で代入すればOKです。
54
+
55
+
56
+
57
+ ただし、非連結フォームの場合としても、一つのフィールドを入力しただけで、テーブルに追加するのは設計としてまずいと思います。すべてのフィールドを入力した後に、整合性をチェックしてテーブルに追加するというので非連結フォームのメリットを活かした設計と言えます。
58
+
59
+
60
+
61
+ 失礼ながら、質問内容から、非連結フォームを設計できるスキルレベルではないと推測されます。