上記の制限に沿っているとして、下記のような感じでしょうか。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim maxDate As Date, Num As Long
If Me.NewRecord Then
maxDate = DMax("日付", "テーブル名")
Num = DLookup("数値", "テーブル名", "日付=#" & maxDate & "#")
If Me.日付 = maxDate Then
Me.数値 = Num
ElseIf Me.日付 > maxDate Then
Num = Num + 1
If Num > 10 Then Num = 1
Me.数値 = Num
End If
End If
End Sub
通報 ...