Microsoft Access 掲示板

レコードにカウンターのようなものをつけたい / 3

8 コメント
views
4 フォロー
3

と、レコードを追加するたびに自動で”数値フィールド”に数値が入力されればよいです

そういうことなら、フォームの挿入前処理か更新前処理でVBAで連番数値フィールドで連番を入力していくのがよさそうです。

ただし、入力は日付順に入力するという制限が付きますが、それは大丈夫ですか。
例えば、6/1を入力してから、5/29を入力するというようなことがあると面倒です。

通報 ...
  • 4

    上記の制限に沿っているとして、下記のような感じでしょうか。

    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