Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular aktualisiert nicht

Begonnen von Thüringer, August 28, 2026, 09:52:25

⏪ vorheriges - nächstes ⏩

Thüringer

Die Frage: Der Befehl speichert und schließt das formluar frm_liste_neu. Aber er refresht nicht frm_liste.

frm_liste befindet sich als Unterformular in frm_frame und heißt dort frm_liste.

Was muss man anstelle von Forms.frm_liste.Requery schreiben?


Private Sub Befehl122_Click()
 On Error GoTo Err_Befehl122_Click
     DoCmd.Close acForm, "frm_liste_neu", acSaveYes
      Forms.frm_liste.Requery
     'Me!frm_frame.Form.Requery
     'Me!frm_frame.Form.Reload
Exit_Befehl122_Click:
     Exit Sub
Err_Befehl122_Click:
     'MsgBox Err.Description
     Resume Next
     Resume Exit_Befehl122_Click
End Sub

Knobbi38

Hallo,

es gibt zwei Dinge, die du bei Access beachten mußt:
  • Unterformulare erscheinen nicht in der Forms-Auflistung, könnenn also darüber nicht direkt angesprochen werden.
  • Access benennt ein SubForm-Control im Designer immer nach dem zugewiesenen Formular. Das muss man nachträglich ändern und dem SubForm-Control einen anderen Namen vergeben, z.B. mit einem Präfix "sub" oder "sfc", je nach Namenskonvention.

Aus dem o.a. folgt dann: wenn du ein Requery auf ein geladenes UF aus dem HF veranlassen möchtest, warum auch immer, kannst du das einfach über das Steuerelement (SubForm-Control) ansprechen:
me.<subformcontrolname>.form.requery
Eigentlich sollte das aber nicht notwendig sein.

Knobbi38

PS:
ZitatResume Next
     Resume Exit_Befehl122_Click
Der Code ist leider fehlerhaft. "Resume Next" gehört da nicht hin und kann u.U. eine Endlosschleife verursachen!

Thüringer


Mein Text sieht jetzt so aus. Er gibt an, dass er "ufofrm_liste" nicht finden kann. Das SubForm-Control heißt aber so. Das darin befindliche Formular ist "frm_liste" und soll aktualsiert werden. Was kann falsch sein?

Private Sub Befehl122_Click()
 On Error GoTo Err_Befehl122_Click
     DoCmd.Close acForm, "frm_liste_neu", acSaveYes
     Me.ufofrm_liste.Form.Requery
Exit_Befehl122_Click:
     Exit Sub
Err_Befehl122_Click:
     Resume Exit_Befehl122_Click
End Sub

Knobbi38

Hier kannst du nachlesen, wie in Access die Referrer aufgebaut sind:
http://access.mvps.org/access/forms/frm0031.htm

Wenn du  Me.ufofrm_liste.Form.Requery im HF aufrufst und ufofrm_liste sich im HF befindet, sollte das UF die Daten neu laden.

Und noch ein Tipp:
   DoCmd.Close acForm, "frm_liste_neu", acSaveYes

speichert nur die Änderungen eines Formulars im Entwurfsmodus, nicht die Daten!

Knobbi38