Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: zorlayan am April 09, 2019, 11:19:24

Titel: Werttransfer zwischen Forms
Beitrag von: zorlayan am April 09, 2019, 11:19:24
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



Titel: Re: Werttransfer zwischen Forms
Beitrag 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

(kein Bock Kommas zu zählen, deshalb mit benannten Parametern; Me. = FormA)
gruss ekkehard
Titel: Re: Werttransfer zwischen Forms
Beitrag von: zorlayan am April 09, 2019, 13:37:35
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
Titel: Re: Werttransfer zwischen Forms
Beitrag von: Beaker s.a. am April 09, 2019, 14:26:05
@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
Titel: Re: Werttransfer zwischen Forms
Beitrag von: PhilS am April 09, 2019, 14:28:15
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 (https://support.office.com/de-de/article/openargs-eigenschaft-%C3%96ffnungsargumente-c8616938-cd58-4b1a-84cf-3d043f59e13b) Werte/Daten an das geöffnete Form übergeben. Das Beispiel in der verlinkten Dokumentation zeigt das Vorgehen.