Übergabe/Kopieren Feldinhalt

Hallo,
ich habe ein Formular A, mit einem Button, welcher ein anderes Formular B öffnet.
Nun möchte ich dass beim Öffnen gleichzeitig der Inhalt eines Formularfelds A in das sich öffnende Formular B kopiert bzw übertragen wird.
Wie bekomme ich das kopieren chic hin?

Vielen Dank.

J.Humpert

Hallo.

ich habe ein Formular A, mit einem Button, welcher ein anderes
Formular B öffnet.
Nun möchte ich dass beim Öffnen gleichzeitig der Inhalt eines
Formularfelds A in das sich öffnende Formular B kopiert bzw
übertragen wird.

Wir befinden uns im 22. Jahrhundert. Dies sind die Abenteuer Formular frm_A. Das gewünschte Feld heißt frm_A.TäteRätä. Die Schaltfläche frm_A_HackeBum wird gedrückt.

Sub HackeBum\_Click()
With DoCmd
 .Echo False
 .SetWarnings False
 .Hourglass True
 .OpenForm "frm\_B", ...
 .SelectObject acForm,"frm\_B"
End With
frm\_B.TäteRätä=frm\_A.TäteRätä
frm\_B.Refresh
With DoCmd
 .SelectObject acForm,"frm\_A"
 .Close acForm,"frm\_A"
 .SelectObject acForm,"frm\_B"
 .Hourglass False
 .SetWarnings False
 .Echo False
End With
End Sub

8ung : Habe zur Zeit kein Access, daher aus der Lamäng eingetippt … - müsste aber so ähnlich gehen.

Gruß Eillicht zu Vensre

Hallo,
erstmal vielen Dank!
Hab das mal für meine DB verwendet:
da steht jetzt:
Private Sub zur_Leistungsauswahl_Click()
On Error GoTo Err_zur_Leistungsauswahl_Click

Dim stDocName As String
Dim stLinkCriteria As String

With DoCmd
.Echo False
.SetWarnings False
.Hourglass True
.OpenForm „Gruppenauswahl“
.SelectObject acForm, „Gruppenauswahl“
End With
frm Gruppenauswahl.Vorg-Nr = frm VA-Details.Vorg-Nr

frm Gruppenauswahl.Refresh

With DoCmd
.SelectObject acForm, „VA-Details“
.Close acForm, „VA-Details“
.SelectObject acForm, „Gruppenauswahl“
.Hourglass False
.SetWarnings False
.Echo False
End With
End Sub

Es kommt allerdings die Fehlermeldung: Fehler beim Kompilieren, Erwartet: Anweisungsende
Kann sein dass der Formularname „VA-Details“ nicht geht?

Hi,
Nachtrag:
Er markiert mir bei der Fehlermeldung auch immer die Zeile

frm „Gruppenauswahl.Vorg-Nr“ = frm „VA-Details.Vorg-Nr“

Keine Ahnung was da falsch dran is!

Hi Johannes,

Nachtrag:
Er markiert mir bei der Fehlermeldung auch immer die Zeile
frm „Gruppenauswahl.Vorg-Nr“ = frm „VA-Details.Vorg-Nr“
Keine Ahnung was da falsch dran is!

Tja, beim Abschreiben in der Schule …

Wer in aller Welt hat was von frm gesagt?
Wer in aller Welt hat was von Anführungsstrichen gesagt?

Dein Formular heißt: Gruppenauswahl
Dein Feld auf dem Formular heißt: Vorg-Nr

Also verwende es auch so: Gruppenauswahl.Vorg-Nr

Ebenso beim zweiten Formular…

Lösung:
Gruppenauswahl.Vorg-Nr = VA-Details.Vorg-Nr
Nicht mehr und nicht weniger.

Gewöhne dir an, in Zukunft keine Bindestriche oder Punkte bei Bezeichnungen zu verwenden. Besser sind Untersriche. Beispiel: Vorg_Nr

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo,
es funktioniert leider trotzdem nicht.
Ich es zuerst so probiert wie vorgeschlagen, dies klappte nicht.
Dann habe ich die Formularnamen bzw Feldnamen so abgeändert, dass keine Punkte oder Bindestriche vorkommen.
Somit heißt das erste Formular jetzt: VA_Details
Das entsprechende Feld Vorg_Nr
Unten zur Sicherheit nochmal der komplette Code:

Sub zur_Leistungsauswahl_Click()

With DoCmd
.Echo False
.SetWarnings False
.Hourglass True
.OpenForm „Gruppenauswahl“
.SelectObject acForm, „Gruppenauswahl“
End With
Gruppenauswahl.Vorg_Nr = VA_Details.Vorg_Nr
Gruppenauswahl.Refresh

With DoCmd
.SelectObject acForm, „VA_Details“
.Close acForm, „VA_Details“
.SelectObject acForm, „Gruppenauswahl“
.Hourglass False
.SetWarnings False
.Echo False
End With
End Sub

Weiss nich wo es nu harkt!:frowning:

Viele Grüsse

Jo

Warum einfach, wenn’s auch kompliziert geht…

Mach’s einfach so:

 Docmd.OpenForm "frm\_B"
 Forms!Frm\_B!Zielfeld = Me!Quellfeld

… wobei man sich das Hin- und Herkopieren zwischen Formularen gut überlegen sollte. In einer Datenbank sind die Datenobjekte das Maß der Dinge und nicht die Benutzeroberfläche!

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

Hallo,

hierzu gibt es den Aufrufparamter OpenArgs.

Beim Oeffnen des Formulars codiert man folgendes

DoCmd.OpenForm „JobsOverview“,acNormal ,Me!WertVonFeldInFormuarA

Im BeimAnzeigen-Ereignis des FormuarsB kann man einfach folgendes Codieren

if not isNull(Me.OpenArgs) then
Me!MeinFeldInFormularB = Me.OpenArgs
endif

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]