• ベストアンサー

アクセス2000での月別オートナンバー

アクセス2000で年別月別でのナンバリングは可能でしょうか? 例えば 平成13年12月に入力したものに 「1312001,1312002」と番号をふっていく。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.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から同じデータベースを共有されているのでしたら、一旦レコードをロックして…云々ってな処理が必要ですね。

beginner123
質問者

お礼

ありがとうございます! 早速やってみます!助かりました!

関連するQ&A