- ベストアンサー
アクセス2000での月別オートナンバー
アクセス2000で年別月別でのナンバリングは可能でしょうか? 例えば 平成13年12月に入力したものに 「1312001,1312002」と番号をふっていく。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「テーブル1」の「ID」フィールドに連番を格納する際の方法です。 フォーム上でデータ入力を行ったときのみ有効。 1:フォームをデザインモードで開く 2:フォームの[更新前処理]を「イベントプロシージャ」にして、右の[…]をクリック 3:VBAの編集画面になるので、以下のように入力。 Private Sub Form_BeforeUpdate(Cancel As Integer) Dim SQL As String Dim RS As Recordset Dim MaxID As String If Me.NewRecord Then SQL = "SELECT Max(ID3) AS MaxID" _ & " FROM テーブル1" & " WHERE ID3 Like '" & Format$(Date, "eemm") & "*';" Set RS = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot) MaxID = Format$(Date, "eemm") & Format$(Val(Right$(Nz(RS![MaxID]), 3)) + 1, "000") Me.ID3 = MaxID End If End Sub 尚、このやり方では、複数のユーザが同時にレコードの更新を行ったときはダブった番号が入力されてしまうかもしれません。 もし複数のPCから同じデータベースを共有されているのでしたら、一旦レコードをロックして…云々ってな処理が必要ですね。
お礼
ありがとうございます! 早速やってみます!助かりました!