Ich habe ein Formular, das ein Unterformular enthält, das eine Datenblattansicht einer Abfrage anzeigt. Es gibt eine Schaltfläche im Hauptformular, die beim Anklicken die SQL der Abfrage überarbeitet. Wenn auf die Schaltfläche geklickt wird, wird die Abfrage wie erwartet geändert, aber die Ergebnisse werden im Unterformular nur dann aktualisiert, wenn ich das Hauptformular schließe und erneut öffne.Formular nicht aktualisiert, wenn Abfrage Def aktualisiert
Ich habe versucht, das Unterformular und das Hauptformular erneut abzufragen. Ich habe versucht, das Unterformular und das Hauptformular zu aktualisieren. Ich habe verschiedene Kombinationen der beiden ausprobiert, aber nichts wird die im Unterformular angezeigten Daten aktualisieren, außer das Hauptformular zu schließen und wieder zu öffnen.
Irgendwelche Einsichten oder Vorschläge?
Dies ist der Code, den ich im Hauptformular habe, und es wird ausgeführt, wenn auf eine Schaltfläche geklickt wird.
Dim f as Form
Set f = Me.frm_Subform.Form
' Update the query def
Dim sSQL As String
Dim sqlArray As Variant
sSQL = CurrentDb.QueryDefs("myQuery").SQL
sqlArray = Split(sSQL, "ORDER BY")
sSQL = Left(sqlArray(0), Len(sqlArray(0)) - 3)
sSQL = sSQL & " AND (STAFF.FULLNAME <> 'JOHN DOE') "
sSQL = sSQL & "ORDER BY" & sqlArray(1)
CurrentDb.QueryDefs("myQuery").SQL = sSQL
' Refresh the subform
F.Requery
Me.Requery
F.Refresh
Me.Refresh
F.Repaint
Me.Repaint
Immer noch neugierig, wenn jemand weiß, warum die Änderung der Abfrage und das Aktualisieren/erneutes Abfragen die Daten im Unterformular nicht aktualisieren. – shoegazer100