#418 最後に入力した値を新規レコードの自動入力する方法 フォーム、VBA

事務的な作業において、連続して次々とデータを入力していくような場面では、直前に入力したのと同じ値を次の新規レコードにも入力するということがよくあります。
そのような場合、次のようなプログラムを使うことによって、最後に入力した値を新規レコードに自動的に入力させることができます。

ここでは、「商品コード」という名前のコンボボックスで選択または入力された値をいったん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


実行例:
  1. まず、商品コードのコンボボックスから「アメリカンクラッカー」を選択して、そのレコードのデータ入力を行います。
    実行結果

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

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved