回答編集履歴

3

説明修正

2020/05/03 05:59

投稿

hatena19
hatena19

スコア33722

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- レコードセットでの追加はAddNewメソッド、更新はEditメソッドを使います。
13
+ レコードセットでの追加はAddNewメソッド~~、更新はEditメソッド~~を使います。代入後、Updateメソッドで更新します。
14
14
 
15
15
 
16
16
 

2

コード修正

2020/05/03 05:59

投稿

hatena19
hatena19

スコア33722

test CHANGED
@@ -28,15 +28,11 @@
28
28
 
29
29
  .Find "日付け = #" & adoRS1!日付け.Value & "#", 0, adSearchForward
30
30
 
31
- If adoRS2.EOF Then '同じ日付けのレコードがなければ
31
+ If adoRS2.EOF Then '同じ日付けのレコードがなければ新規追加
32
32
 
33
33
  .AddNew
34
34
 
35
35
  !日付け.Value = adoRS1!日付け.Value
36
-
37
- Else
38
-
39
- .Edit
40
36
 
41
37
  End If
42
38
 

1

説明追記

2020/05/03 05:57

投稿

hatena19
hatena19

スコア33722

test CHANGED
@@ -61,3 +61,21 @@
61
61
 
62
62
 
63
63
  検索(Findメソッド)すれば adoRS2.MoveNext は不要。また、検索の方が高速。
64
+
65
+
66
+
67
+
68
+
69
+ > ・デバッグでF8を押しながら一行ずつ確認、adoRS2.MoveNext行を通過後
70
+
71
+ イミディエイトウィンドウにて[?adoRS2("日付け")]と確認するも値の変更なし
72
+
73
+ ・IF文の中にadoRS2.MoveNextを書いても値の変化無し、IFの外に書いても値の変化無し。
74
+
75
+
76
+
77
+ > この原因についてお分かりになる方いらっしゃいましたら、ご教示願います。
78
+
79
+
80
+
81
+ これに関しては、SQL の Update文に抽出条件がないので、すべてのレコードを更新してしまってます。それによってすべてのレコードの日付が同じになってしまいますので、レコード移動しても日付は同じになるというこかと推測します。