2017-11-28 7 views
0

Ich habe ein Formular, das mehrere Anfragen auflistet. Wenn jemand auf die Anforderungs-ID klickt, öffnet sich ein Überprüfungsformular und schließt das Listenformular. Eine Person füllt das Überprüfungsformular aus und ändert den Status. Anschließend klickt sie auf eine Schaltfläche, um das aktuelle Formular zu schließen, und öffnet das Listenformular erneut.MS Access Formular nicht filtern auf Last

Wenn das Listenformular erneut geöffnet wird, möchte ich, dass es nur die Anforderungen filtert, die beim Laden übermittelt oder erneut gesendet werden. Wenn eine Überprüfung im Überprüfungsformular stattfindet, ändert sich der Status in Ausstehend. Das Formular schließt und öffnet das Listenformular mit dem Status Ausstehend. Ich möchte das nicht, ich möchte nicht zeigen, nur eingereicht oder erneut eingereicht.

Dies ist der VBA-Code, den ich verwende, aber es funktioniert nicht, wenn das Formular geladen wird.

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

Sie sind wahrscheinlich am besten Anpassung der VBA, die das Formular öffnet, nicht diese 'Form_Load' Stück. Kannst du es teilen? –

+0

Eigentlich ist es ein grundlegendes Makro, das das Formular öffnet (OpenForm: frmAdminListToDo, Ansicht: Formular, Fenstermodus: Normal. Dann ein CloseWindow-Makro (Objekttyp: Formular, Objektname: frmReviews, Speichern: Ja. – Jordy

+1

Nun, mein Punkt steht, Die "OpenForm" -Makroaktion hat einen Abschnitt "Where condition" –

Antwort

0

Vielleicht möchten Sie eine Me.Requery - Ich frage mich, ob Ihre Quelle Recordset in der Empfangsform abgestanden ist.

+0

Me.Requery funktionierte nicht beim Laden von Formular.Wie überprüfe ich, ob das Quell-Recordset im empfangenden form ist veraltet? – Jordy

+0

Oh, guter Punkt - das ist eine Ladeform. Eine lange Schuß, aber manchmal MS Access reagiert langsam auf Datenänderungen. Ich habe es gesehen. Nicht sagen, dass das hier der Fall ist Das ist das Problem, testen Sie das - fügen Sie dem Formular eine Schaltfläche hinzu, und klicken Sie auf das Klickereignis, um die Me.Requery auszuführen. Wenn die Daten dann, aber nicht beim Load-Ereignis angezeigt werden, ist das die Ursache up Klicken Sie bei gedrückter Maustaste auf den Code und pausieren Sie den Code während des Klickens auf die Schaltfläche und überprüfen Sie den SQL-Code hinter der Recordsource, die Filtereigenschaft und die FilterOn-Eigenschaft. Sie sollten Ihre rauchende Pistole an diesem Punkt finden. – Wellspring