3

ユーザーが新しいレコードを作成するために、フォームを開いたとします。でフォームを開くとき

DoCmd.OpenForm "FormName", acNormal, "", "", acFormAdd, acDialog

Access は、新しい/空のレコードに設定されたデータ ポインターでフォームを開きます。ユーザーはフォームに入力できるようになりましたが、一部のユーザー アクションを実行するには が必要になる場合がありますMe.Requery。これを行うと、フォームは現在作成および変更されているレコードのデータ ポインタを「失い」、新しい空のレコードにジャンプします。再クエリの前であっても、Me.Dirty = Falseアクセスがそうするのを妨げません。この動作は paramter に起因すると確信していますacFormAdd

対照的に、フォームを開く

DoCmd.OpenForm "FormName", acNormal, "", "WHERE-CLAUSE", acFormEdit, acDialog

動作を解決しますが、既存のレコードに対してのみ機能します。

この要求されていない動作は、特定の条件が満たされたときに from を閉じて再度開くという醜い回避策を実装する必要があるため、私が期待しているものではないことが想像できます。

したがって、上記の動作を回避するのに役立つはるかに簡単な方法があるかどうか疑問に思っています。よろしくお願いします!

4

2 に答える 2

2

選択したフォーム コントロールを再クエリすることで、フォーム全体を再クエリせずに必要なことが達成できるかどうかを確認します。

たとえば、 cboUserID という名前のコンボ ボックスを再クエリするは、次のようにします。

Me.cboUserID.Requery
于 2013-08-24T17:38:48.033 に答える