ここから本文です

アクセスで自動採番したときに入力済みの場合の処理

tai********さん

2011/1/611:17:34

アクセスで自動採番したときに入力済みの場合の処理

二回目の質問になります。
今回はフォーム上の自動採番をしているときの対応について質問です。
単純に連番を振ろうと思い自動採番をしています。クエリは使いません。
古いレコードを消すことはないので単純にDmax関数のマクロでレコード移動時に採番されるようにしています。
この場合、前の連番を選択してしまうと新たに採番されてしまいます。
これを回避したいのですが、すでに入力されているセルの場合にマクロが発動しない方法を教えてください。
連番は主キーです。

補足オートナンバは訂正したいときにレコードを消したりといった事でも番号が飛び飛びになるので使いません。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
586
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

mi_********さん

2011/1/619:29:50

> この場合、前の連番を選択してしまうと新たに採番されてしまいます。

採番の処理はどのタイミングで行っているのでしょうか?
もし、連番を格納するテキストボックスの[フォーカス取得時]などにイベントプロシージャを記述しているのであれば、そのテキストボックスが空欄の場合にだけ処理を実行するようにしてはどうでしょうか。


テキストボックスの名前がテキスト0だとして

Private Sub テキスト0_Enter()

If Nz(Me.テキスト0, "") = "" Then

(ここに採番の処理を記述)

End If

End Sub


のように。



あるいは、新規レコードだったら採番処理をする方法も。


Private Sub テキスト0_Enter()

If NewRecord = True Then

(ここに採番の処理を記述)

End If

End Sub

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

tab********さん

2011/1/611:41:17

状況をいまいち理解していないかもですが、、

> 単純に連番を振ろうと思い自動採番をしています。クエリは使いません。
> 古いレコードを消すことはない
> 連番は主キーです。

連番をマクロ等での自動採番は止めて
「オートナンバー型」にしてはいかがでしょう。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる