Hallo liebe Accessfreunde,
ich habe eine Accessdatenbank mit einem Haupt- und 2 Unterformularen. Im 2. Unterformular habe ich für jedein Datensatz einen Button in einem Endlosformular angeordnet. Beim Klick auf diese Befehlsschaltfläche soll ein Pop-Up-Formular geöffnet werden, dass mit dem gerade ausgewählten Datensatz im 2. Unterformular verknüpft ist. Wenn ich nun über den Button das Pop-Up-Formular aufrufe, erscheint zwar das Pop-Up-Formular, aber alle Datensätze, die ich bereits über das Pop-Up-Formular eingegeben habe und die mit dem Datensatz vom 2. Unterformular verknüpft sind werden nicht angezeigt. Die Verknüpfung habe ich folgendermaßen aufgebaut:
1. Wenn das Pop-Up-Formular geladen wird, wird der Inhalt (Value) eines Textfeldes auf dem Pop-Up-Formular mit dem Primärschlüssel des 2. Unterformulars gefüllt
2. Auf dem Pop-Up-Formular habe ich ein Unterformular, dass eben mit dem Inhalt dieses Textfeldes auf dem Pop-Up-Formulares verknüpft ist. Hier ein Bildschirmfoto von dem Eigenschaftenfenster des Unterformulars auf dem Pop-Up-Formular:
Screenshot 2023-11-25 111649.png
Hier mein Code dazu vom Pop-Up-Formular:
Private Sub Form_Load()
'"ZutatSammelID" zum aktuellen Datensatz aus UFO2 auslesen, um später das UFO auf dem PopUp-Formular an txtZutatSammelID verknüpfen zu können
Me.txtZutatSammelID.Value = _
DLookup("ZutatSammelID", "tblZutatenSammel", "ZutatSammelID=Forms![frm00BWT_Haupt]![sfrmBWTEinkaufsliste_Unter].Form![txtZutatSammelID].Value")
End Sub
Hier ein Bild vom Hauptformular mit den Unterformularen (Die Befehlsschaltflächen habe ich rot eingekreist.):
Screenshot 2023-11-25 111402.png
Und hier ein Bildschirmfoto vom Pop-Up-Formular selbst. Das betreffende Textfeld "txtZutatSammelID" habe ich rot eingekreist.
Screenshot 2023-11-25 112141.png
Hallo Konrad,
Warum übergibst du die ID nicht einfach per OpenArgs an das PopUp?
DoCmd.OpenForm FormName:="DeinPopUp", ..., OpenArgs:=Me.DeinIDFeldBeim Öffnen dann
Private Sub Form_Load()
Me.txtZutatSammelID.Value = Me.OpenArgs
End SubZu 1, - hast du danach ein Requery versucht?
gruss ekkehard
Hallo Beaker s.a.,
Zitat von: Beaker s.a. am November 25, 2023, 11:55:01Warum übergibst du die ID nicht einfach per OpenArgs an das PopUp?
Code [Auswählen] Erweitern
DoCmd.OpenForm FormName:="DeinPopUp", ..., OpenArgs:=Me.DeinIDFeld
Danke für den Tip. Das wusste ich nicht. Bei mir sieht es jetzt so aus:
DoCmd.OpenForm "frm05Naehrstoffe100g", acNormal, acDialog, , , , Me.ZutatSammelID
Zitat von: Beaker s.a. am November 25, 2023, 11:55:01Beim Öffnen dann
Code [Auswählen] Erweitern
Private Sub Form_Load()
Me.txtZutatSammelID.Value = Me.OpenArgs
End Sub
Das habe ich so umgesetzt:
Me.txtZutatSammelID.Value = Me.OpenArgs
Zitat von: Beaker s.a. am November 25, 2023, 11:55:01Zu 1, - hast du danach ein Requery versucht?
und das auch:
Me.txtZutatSammelID.Value = Me.OpenArgs
Die Daten werden also an das Textfeld per OpenArgs übergeben. Das funktioniert. Leider werden die bereits eingegebenen Daten nicht angezeigt. Hier ein Bild:Screenshot 2023-11-26 104437.png Gibts noch andere Möglichkeiten?
Hallo,
könnt es sein, dass das Formular in den Daten Eigenschaften auf "Daten eingeben = ja" steht?
Hallo MzKlMu,
Das war der Fehler. Vielen vielen Dank. Ich war mir sicher, dass ich das schon x mal kontrolliert hatte und dass das die verknüpften Daten für den Datensatz nicht angezeigt hatte. Das nächste Mal schaue ich gleich dort nach.