ACCESS 明細サブフォームに行番をつけるモジュール

行番関連のクエリを準備する「Q_材料費_行番」「Q_材料費_行番_KID」

新規追加フォーム 読み込み時イベント レコードの有無により行番を決める

レコードが無い場合は「1」 すでにある場合は「行番フィールドの最大値プラス1」

Private Sub Form_Load()

On Error GoTo Err_cmdShow_Click

‘オブジェクト変数 – DAO

Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset

‘レコードセットを開いて参照を取得

Set dbs = Application.CurrentDb

‘クエリを取得
Set qdf = dbs.QueryDefs(“Q_材料費_行番_KID”)

With qdf
.Parameters(“[KID]”) = Me.工事台帳C
Set rst = .OpenRecordset
.Close
End With

Dim No As Long

If rst.RecordCount > 0 Then

No = CLng(DMax(“行番”, “Q_材料費_行番”)) + 1

Else

No = 1

End If

Me.行番 = No

Me.日付.SetFocus

rst.Close

Set rst = Nothing
Set qdf = Nothing
Set dbs = Nothing

Exit_cmdShow_Click:
Exit Sub

Err_cmdShow_Click:
MsgBox err.Description
Resume Exit_cmdShow_Click

End Sub