Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


798 / 9994 ←次へ | 前へ→

【12505】Re:連番の入力
回答  hatena  - 14/4/17(木) 19:41 -

引用なし
パスワード
   ある処理をするには最適なイベントと言うのものあります。

> いくつかのコンボボックスの内、「件名」というコンボボックスをクリックすると、入力が開始されたと認識させようと、以下の構文を書きました。

もし、そのコンボボックスをクリックせずに他のコンボボックスから入力して、レコード保存してしまったら、連番が未入力になるということも考えられます。

フォームのイベントを見てみると、「挿入前処理」というものがあります。ヘルプを見ると、
-------------------------------------------------------------------------
BeforeInsert イベントは、新規レコードに最初の文字を入力したときに発生します。
-------------------------------------------------------------------------
とあります。
このイベントが希望の処理には最適だと思われます。

Private Sub Form_BeforeInsert(Cancel As Integer)
  Me.連番 = Nz(DMax("連番", "テーブル"), 0) + 1
End Sub


Refresh するとレコード保存されます。そうするとEscで入力取消ができなくなります。その辺も考慮する必要があります。
よくよく考えて設計してください。

別案として、レコード移動時に、既定値プロパティを設定するという方法もあります。
この場合は、新規レコードへ移動した時点で、連番が表示されます。

Private Sub Form_Current()
  If Me.NewRecord Then Me.企業ID.DefaultValue = Nz(DMax("連番", "テーブル"), 0) + 1
End Sub


お好みで選択してください。
219 hits

【12492】連番の入力 くやっち 14/4/10(木) 19:04 質問[未読]
【12493】Re:連番の入力 えは2 14/4/11(金) 13:59 回答[未読]
【12502】Re:連番の入力 くやっち 14/4/17(木) 12:55 お礼[未読]
【12505】Re:連番の入力 hatena 14/4/17(木) 19:41 回答[未読]
【12512】Re:連番の入力 くやっち 14/4/21(月) 10:04 お礼[未読]

798 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free