Supportnet / Forum / Datenbanken
Access: Variable übergeben
Frage
Hallo
Ich habe 2 Formulare. Ich möchte nun eine Variable mit Hilfe von docmd.openform an das 2. Formular übergeben.
Im 2. Formular möchte ich dann mit Hilfe der übergebenen Variable weiterarbeiten.
Wie geht das? Kann mir mal jemand mein Brett vorm Kopf nehmen?!
Gruß Thomas
Antwort 1 von Locke
Dein Stichwort lautet "OpenArgs".
Beispiel:
DoCmd.OpenForm "Formularname", , , Variable
Gruß
Locke
Beispiel:
DoCmd.OpenForm "Formularname", , , Variable
Gruß
Locke
Antwort 2 von t.lang78
Hallo Locke
Das habe ich bereits versucht
Msgbox id
DoCmd.OpenForm "rechnungen", , , id
Die Msgbox meldet mir die korrekte Id.
Im 2. Formular prüfe ich bei Form_Load nochmal ob id vorhanden ist.
Msgbox id
Hier ist jedoch id leer
Das habe ich bereits versucht
Msgbox id
DoCmd.OpenForm "rechnungen", , , id
Die Msgbox meldet mir die korrekte Id.
Im 2. Formular prüfe ich bei Form_Load nochmal ob id vorhanden ist.
Msgbox id
Hier ist jedoch id leer
Antwort 3 von Locke
Du willst also zu der bestimmten ID spingen, richtig?
Dann mach folgendes:
Angenommen Dein Feld mit der gewünschten Id heißt "ID1" und die ID in dem zu öffnenden Feld hat den Namen "ID2":
Sub wasweißich ()
Dim Argument as String
Argument = "[ID2]" & me![ID1]
Me.Refresh
DoCmd.OpenForm "rechnungen", , , Argument
End Sub
Gruß
Locke
Dann mach folgendes:
Angenommen Dein Feld mit der gewünschten Id heißt "ID1" und die ID in dem zu öffnenden Feld hat den Namen "ID2":
Sub wasweißich ()
Dim Argument as String
Argument = "[ID2]" & me![ID1]
Me.Refresh
DoCmd.OpenForm "rechnungen", , , Argument
End Sub
Gruß
Locke
Antwort 4 von t.lang78
Nein im 2. Formular gibt es die Id nicht!
Etwas genauer
Im 1 Form wird ein Kontakt ausgewählt. Bei DblClick öffnet sich dann ein neues Formular indem eine neue (Datensatz) Rechnung angelegt wird. In der Tabelle Rechnung gibt es jedoch den Fremdschlüssel kontakt_id.
Das Feld kontakt_id muss ich füllen mit der Id des 1. Formulars.
Also ich brauche kein Argument das mir einen bestimmten Datensatz aus dem 2. Form öffnet. Ich habe nur das Problem eine Variable von einem zum anderen Formular zu übergeben.
Hoffe ich konnte es jetzt genauer schildern :)
Gruß Thomas
Etwas genauer
Im 1 Form wird ein Kontakt ausgewählt. Bei DblClick öffnet sich dann ein neues Formular indem eine neue (Datensatz) Rechnung angelegt wird. In der Tabelle Rechnung gibt es jedoch den Fremdschlüssel kontakt_id.
Das Feld kontakt_id muss ich füllen mit der Id des 1. Formulars.
Also ich brauche kein Argument das mir einen bestimmten Datensatz aus dem 2. Form öffnet. Ich habe nur das Problem eine Variable von einem zum anderen Formular zu übergeben.
Hoffe ich konnte es jetzt genauer schildern :)
Gruß Thomas
Antwort 5 von Locke
Achso:
DoCmd.OpenForm "rechnungen"
Forms("rechnungen").kontakt_id = id
Das sollte gehen
Gruß
Locke
DoCmd.OpenForm "rechnungen"
Forms("rechnungen").kontakt_id = id
Das sollte gehen
Gruß
Locke
Antwort 6 von t.lang78
Danke Dir!
Hat geklappt
Gruß Thomas
Hat geklappt
Gruß Thomas

