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 ⏩

Beaker s.a.

Zitatgibt es im Internet zu hauf
@Ulrich
Leider aber auch Widersprüchliches.

@Thüringer
Nimm lieber den ., dann hast du auch Intellisense.
Nach meinen Erfahrungen ist das ! nur in Abfragen mit Form-Bezug
(wenn man sie denn verwendet) zwingend.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Knobbi38


Thüringer

Weil der neue Eintrag über ein Popup hinzu gefügt werden soll und nicht unten im Endlosformular. Dadurch soll man sich das scrollen ersparen.

Knobbi38

Dann gehört der Code zum Positionieren auf den zuletzt angelegten Record in das Subformular und der Primarykey wird per Property oder Funktion aus dem Dialog-Formular ausgelesen, bevor dieses endgültig geschlossen wird. Der PK wird dann an die Prozedur im UF weitergeben, wo dann alles abläuft, um auf den neuen DS zu positionieren.

Knobbi38

Beaker s.a.

Hallo,
ZitatWeil der neue Eintrag über ein Popup hinzu gefügt werden soll
Dann kannst du das Vorhaben direkt vom UFo aus steuern. Voraussetzung:
HFo und UFo sind über die ID im HFo verknüpft, PKs sind AutoWerte.

Platziere einen Button im UFo (Kopfbereich), - Name: cmdNeuerDS
Das Popup hat die gleiche DS-Herkunft wie das UFo.

(Luftcode, ungetestet)
Private Sub cmdNeuerDS_Click()
    Dim lHFoID As Long
    Dim lUFoLastID As Long

    With Me   
        lHFoID = .Parent.NameDesIDFeldes

        DoCmd.OpenForm _
            FormName:="NameDesPopups", _
            DataMode:=acFormAdd, _
            WindowMode:=acDialog, _
            OpenArgs:=lHFoID

        'nach dem Schliessen des Popups
        'UFo aktualisieren
        .Requery

        'navigieren zum neuen DS
        DoCmd.GoToRecord acDataForm, .Name, acLast
'hier bin ich mir nicht sicher ob das zuverlässig ist *)

    End With
End Sub
acFormAdd = Form wird mit neuem, leerem DS geöffnet
acDialog = Codeausführung wird an das Popup übergeben,
und erst nach Schliessen hier fortgeführt
OpenArgs: Da das Popup ja keine Verknüpfung zum UFo hat
muss der FK im Popup per Code gesetzt werden:

Private Sub Form_Open(Cancel As Integer)
   
    Me.NameDesFKFeldes = Me.OpenArgs       'ID im HFo

End Sub

*) Du könntest das UFo nach der ID absteigend sortieren, dann
hättest du den letzten (neuen) DS immer in der ersten Zeile,
und das Springen dorthin entfällt.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)