Form.BeforeInsert イベント (Access)
BeforeInsert イベントは、新規レコードに最初の文字を入力したときに発生します。ただし、レコードが実際に作成される前に発生します。
構文
式。BeforeInsert (Cancel)
expressionForm オブジェクトを表す変数です。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Cancel | 必須 | Integer | BeforeInsert イベントを発生させるかどうかを設定します。 引数 Cancel を True (1) に設定すると、BeforeInsert イベントが取り消されます。 |
注釈
注:
[!メモ] マクロまたは Visual Basic コードでコントロールの値を設定しても、このイベントは発生しません。
これらのイベントが発生したときにマクロまたはイベント プロシージャを実行するには、 BeforeInsert プロパティまたは AfterInsert プロパティをマクロの名前または [イベント プロシージャ] に設定します。
AfterInsert イベント プロシージャまたはマクロを使用して、新しいレコードが追加されるたびにレコードセットを再クエリします。
BeforeInsert イベントと AfterInsert イベントは、BeforeUpdate イベントと AfterUpdate イベントに似ています。 これらのイベントは次の順序で発生します。
BeforeInsert → BeforeUpdate → AfterUpdate → AfterInsert
次の表は、これらのイベントの相互関係を示します。
イベント | 発生するタイミング |
---|---|
BeforeInsert | 新規レコードに最初の文字を入力したときに発生します。 |
BeforeUpdate | レコードが更新される直前に発生します。 |
AfterUpdate | レコードが更新された直後に発生します。 |
AfterInsert | 更新されたレコードが新規レコードであるときに発生します。 |
新しいレコードの最初の文字をテキスト ボックスまたはコンボ ボックスに入力すると、 BeforeInsert イベントは Change イベントの前に発生します。
例
この例では、 BeforeInsert イベント プロシージャを使用して、ユーザーが新しいレコードを作成することを確認する方法と、レコードが追加された後に AfterInsert イベント プロシージャを使用して Employees フォームのレコード ソースを再クエリする方法を示します。
この例を試すには、テーブルまたはクエリに基づく Employees という名前のフォームに次のイベント プロシージャを追加します。 フォームのデータシート ビューに切り替えて挿入を実行すると、確認メッセージ表示後にレコードが追加され、レコード ソースの再クエリが実行されます。
Private Sub Form_BeforeInsert(Cancel As Integer)
If MsgBox("Insert new record here?", _
vbOKCancel) = vbCancel Then
Cancel = True
End If
End Sub
Private Sub Form_AfterInsert()
Forms!Employees.Requery
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。