事務的な作業において、連続して次々とデータを入力していくような場面では、直前に入力したのと同じ値を次の新規レコードにも入力するということがよくあります。
そのような場合、次のようなプログラムを使うことによって、最後に入力した値を新規レコードに自動的に入力させることができます。
ここでは、「商品コード」という名前のコンボボックスで選択または入力された値をいったんPublic変数に保存し、カレントレコードが新規レコードに移動したときにそれを自動的に代入処理しています。
'入力値保存用のPublic変数
Private pstrPCode As String
Private Sub 商品コード_AfterUpdate()
'商品コードの更新後処理
'入力された値をPublic変数に保存
pstrPCode = Me!商品コード.Value
End Sub
Private Sub Form_Current()
'フォームのレコード移動時
If Me.NewRecord And Len(pstrPCode) > 0 Then
'そのレコードが新規レコードでかつPublic変数保存済みならそれを代入
Me!商品コード = pstrPCode
End If
End Sub
実行例:
- まず、商品コードのコンボボックスから「アメリカンクラッカー」を選択して、そのレコードのデータ入力を行います。

- そのまま所定のデータを入力して、Enterキーなどカーソルを移動していきます。そしてカーソルが次の"新規レコード"に移動すると、商品コードの欄に「アメリカンクラッカー」が自動的に入力されます。
|