Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Werttransfer zwischen Forms

Begonnen von zorlayan, April 09, 2019, 11:19:24

⏪ vorheriges - nächstes ⏩

zorlayan

Servus Kollegen,

folgendes Problem habe ich, bitte um Hilfe.
Danke an allen beteiligten im voraus!

ich habe ein FormA in dem Form gibts ein Button welches ein zweites FormB beim Klicken öffnet.
In FormA gibts einen KundenNr Textfeld, diese Kundennummer will ich in dem zweiten Form also in FormB in einem anderen Textfeld heißt auch KundenNr übertragen.

Sub Button_Click()
dim wert as integer
wert = FormA.KundenNr
kopiere Wert
öffne FormB
einfüge Wert in FormB.KundenNr
End Sub

wie schaut es in VBA aus?

Vielen Dank




Beaker s.a.

Hallo,
Private Sub DeinButton_Click()
    DoCmd.Openform _
        FormName:="FormB", _
        WhereCondition:="KundenNr = " & Me.KundenNr
'falls KundenNr vom Typ "Text"
'WhereCondition:="KundenNr = '" & Me.KundenNr & "'"
End Sub

(kein Bock Kommas zu zählen, deshalb mit benannten Parametern; Me. = FormA)
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)

zorlayan

Zitat von: Beaker s.a. am April 09, 2019, 13:05:31
Hallo,
Private Sub DeinButton_Click()
    DoCmd.Openform _
        FormName:="FormB", _
        WhereCondition:="KundenNr = " & Me.KundenNr
'falls KundenNr vom Typ "Text"
'WhereCondition:="KundenNr = '" & Me.KundenNr & "'"
End Sub


Servus,
danke für die Antwort. Ich glaube ich habe etwas wenig infos gegeben.
Wie ich von deinem Code verstanden habe, öffnen wir zweiten Form und suchen wir Datensätze nach dem Wert welche in FormA wir angegeben haben.
Aber wenn ich keine Datensätze von der Kunde im neuen Form habe und was neues hinzufügen möchte quasi einen neuen Eintrag unter neuen Kunde?
Wie ist der Code zum kopieren des Wertes von ersten Form und hinzufügen in den zweiten?
Danke

Beaker s.a.

@zorlayan
Dann übergeben wir die KundenNr mit dem Parameter "OpenArgs".
Private Sub DeinButton_Click()
    DoCmd.Openform _
        FormName:="FormB", _
        OpenArgs:=Me.KundenNr
End Sub

Dann muss dieser Wert allerdings "Beim Öffnen" des FormB zugewiesen werden
Private Sub FormB_Open()
    Me.KundeNr = Me.OpenArgs
End Sub


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)

PhilS

Zitat von: zorlayan am April 09, 2019, 13:37:35
Wie ist der Code zum kopieren des Wertes von ersten Form und hinzufügen in den zweiten?
Du kannst über das OpenArgs Argument von DoCmd.OpenForm Werte/Daten an das geöffnete Form übergeben. Das Beispiel in der verlinkten Dokumentation zeigt das Vorgehen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor