次の方法で共有


Form.BeforeInsert イベント (Access)

BeforeInsert イベントは、新規レコードに最初の文字を入力したときに発生します。ただし、レコードが実際に作成される前に発生します。

構文

BeforeInsert (Cancel)

expressionForm オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
Cancel 必須 Integer BeforeInsert イベントを発生させるかどうかを設定します。 引数 CancelTrue (1) に設定すると、BeforeInsert イベントが取り消されます。

注釈

注:

[!メモ] マクロまたは Visual Basic コードでコントロールの値を設定しても、このイベントは発生しません。

これらのイベントが発生したときにマクロまたはイベント プロシージャを実行するには、 BeforeInsert プロパティまたは AfterInsert プロパティをマクロの名前または [イベント プロシージャ] に設定します。

AfterInsert イベント プロシージャまたはマクロを使用して、新しいレコードが追加されるたびにレコードセットを再クエリします。

BeforeInsert イベントと AfterInsert イベントは、BeforeUpdate イベントと AfterUpdate イベントに似ています。 これらのイベントは次の順序で発生します。

BeforeInsertBeforeUpdateAfterUpdateAfterInsert

次の表は、これらのイベントの相互関係を示します。

イベント 発生するタイミング
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 のサポートおよびフィードバックを参照してください。