回答編集履歴

1

追記

2023/03/13 09:52

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -20,3 +20,34 @@
20
20
  End Sub
21
21
  ```
22
22
  `.DefaultValue` の前の部分は該当のテキストボックス名にしてください。
23
+
24
+ 追記
25
+ ------------------
26
+
27
+ 使用年月、あるいは月末メーターを入力した時点で、新規レコードに反映させたい場合のコード例
28
+
29
+ ```vba
30
+ Private Sub 使用年月_AfterUpdate()
31
+ Dim maxYM
32
+ If IsDate(Me.使用年月.Value) Then
33
+ maxYM = DMax("使用年月", "走行メータ", "車番='" & Me.Parent!車番 & "'")
34
+ If IsNull(maxYM) Then
35
+ maxYM = Me.使用年月.Value
36
+ ElseIf maxYM < Me.使用年月.Value Then
37
+ maxYM = Me.使用年月.Value
38
+ End If
39
+ Me.使用年月.DefaultValue = "#" & DateAdd("m", 1, maxYM) & "#"
40
+ End If
41
+ End Sub
42
+
43
+ Private Sub 月末メーター_AfterUpdate()
44
+ Dim maxM
45
+ If Not IsNull(Me.使用年月.Value) Then
46
+ maxM = Nz(DMax("月末メーター", "走行メータ", "車番='" & Me.Parent!車番 & "'"),0)
47
+ If maxM < Me.月末メーター.Value Then maxM = Me.月末メーター.Value
48
+ Me.月初メーター.DefaultValue = maxM
49
+ End If
50
+ End Sub
51
+ ```
52
+
53
+ 実際に動作確認はしてませんので、微修正が必要かもしれません。