2017-11-28 10 views
0

私はいくつかのリクエストをリストしたフォームを持っています。誰かがリクエストIDをクリックすると、レビューフォームが開き、リストフォームが閉じます。個人がレビューフォームに記入してステータスを変更し、ボタンをクリックして現在のフォームを閉じ、リストフォームを再度開きます。MS Accessフォームでロード時にフィルタリングされない

リストフォームが再び開くと、ロードされたときに送信または再送信されたリクエストのみをフィルタリングしたいと思います。レビューフォームでレビューが行われると、ステータスは[保留中]に変わります。フォームは、ステータスを[保留中]として表示するリストフォームを閉じて開きます。私はこれを望んでいない、私は表示する任意の保留中、服従または再提出する必要はありません。

これは私が使用しているVBAコードですが、フォームが読み込まれても動作しません。

Private Sub Form_Load() 
DoCmd.SetOrderBy "RequestID ASC" 
Dim strFilter As String 
strFilter = "[RequestStatus] IN ('Submitted', 'Re-Submitted')" 
Me.Filter = strFilter 
Me.FilterOn = True 
End Sub 
+0

この「Form_Load」ではなく、フォームを開くVBAを調整するのはおそらく最適ではありません。あなたはそれを共有できますか? –

+0

実際には、フォームを開く基本的なマクロです(OpenForm:frmAdminListToDo、ビュー:フォーム、ウィンドウモード:Normal)次に、CloseWindowマクロ(オブジェクトタイプ:フォーム、オブジェクト名:frmReviews、保存:はい。 – Jordy

+1

) 'OpenForm'マクロアクションは' Where condition'セクションを持っています –

答えて

0

Me.Requeryを実行したい場合があります。受信フォームのソースレコードセットが古くなっているのでしょうか。

+0

Me.Requeryがフォームロードで動作しませんでした。フォームが古くなっていますか? – Jordy

+0

ああ、良い点 - これは読み込みフォームです。長いショットですが、時にはMS Accessがデータの変化に反応することもあります。これは問題です、これをテストして、フォームにボタンを追加し、ClickイベントでMe.Requeryを実行します。データが表示された後にLoadイベントに表示されない場合、その原因が原因です。アップボタンをクリックしても、ボタンをクリックしている間にコードを一時停止し、レコードソース、フィルタプロパティ、およびFilterOnプロパティの背後にあるSQLを確認します。その時点であなたの喫煙銃を見つけなければなりません。 – Wellspring

関連する問題