ユーザーが新しいレコードを作成するために、フォームを開いたとします。でフォームを開くとき
DoCmd.OpenForm "FormName", acNormal, "", "", acFormAdd, acDialog
Access は、新しい/空のレコードに設定されたデータ ポインターでフォームを開きます。ユーザーはフォームに入力できるようになりましたが、一部のユーザー アクションを実行するには が必要になる場合がありますMe.Requery
。これを行うと、フォームは現在作成および変更されているレコードのデータ ポインタを「失い」、新しい空のレコードにジャンプします。再クエリの前であっても、Me.Dirty = False
アクセスがそうするのを妨げません。この動作は paramter に起因すると確信していますacFormAdd
。
対照的に、フォームを開く
DoCmd.OpenForm "FormName", acNormal, "", "WHERE-CLAUSE", acFormEdit, acDialog
動作を解決しますが、既存のレコードに対してのみ機能します。
この要求されていない動作は、特定の条件が満たされたときに from を閉じて再度開くという醜い回避策を実装する必要があるため、私が期待しているものではないことが想像できます。
したがって、上記の動作を回避するのに役立つはるかに簡単な方法があるかどうか疑問に思っています。よろしくお願いします!