誰かが私を助けてくれるか、少なくとも回避策を見つけてくれることを願っています。
私は Access 2007 の分割フォーム機能を使用しており、Form_Open イベントと 2 つの button_click イベントの後に以下のコードを実行しています。コードは、button_click イベントの後に実行すると問題なく動作しますが、form_open イベントで実行すると問題が発生します。
フォームが開かれ、ユーザーが最初のフィールドにテキストを入力すると、Tab またはマウスを使用して次のフォーム フィールドを選択できません。Esc を押してデータ入力をキャンセルするまで、ユーザーは最初のフォーム フィールドにとどまります。フォームを開いたときに最初のフォーム フィールドにデータを正しく入力するには、まず別のフォーム フィールドを選択し、次に最初のフォーム フィールドを再度選択して、最初のフォーム フィールドにテキストを入力する必要があります。このナンセンスの後、ユーザーはタブまたはマウスで次のフォーム フィールドを選択できます。これは、フォームが起動されるたびに 1 回実行する必要があります。button_click イベントで同じ VBA コードが正常に機能します。
注意: フォームを最初に開いたとき、フォームのデータシート セクションのフォーム フィールドはどれも「選択済み」と表示されません。ユーザーが最初のフォーム フィールドにデータを入力し始めると、「新しいレコード」マーカー (*) が 2 行目に移動しますが、最初の行には入力中のデータが表示されません。この動作は奇妙です。
フィールドのクリアを実行した後、別のフィールドをクリックし、クリックして上記の最初のフィールドの回避策に戻ります。データシートには、適切に選択されたフィールドと入力されたデータが表示されます。
何か案は?これはバグですか?フォームを開いたときに VBA を介してフィールド選択の回避策を実行するなど、簡単な回避策はありますか?
どんな助けでも大歓迎です。
コード:
DoCmd.ApplyFilter , "([Contractor].[CheckOutStamp] Is Null)"
DoCmd.GoToRecord , "", acNewRec