PDA

Vollständige Version anzeigen : Feldinhalt vom FormA nach FormB einfügen/kopieren


cjanny
26.03.2013, 12:58
Hallo zusammen,
ich steh hier vor einer Aufgabe wo ich nicht weiter komme. Ich habe zwei Formulare. In FormA ist ein ungebundenes Textfeld indem ich per Auswahl ein Datum eintragen lasse. Nun möchte ich das wenn ich auf die Schaltfläche "weiter" klicke das FormB geöffnet wird (ist erledigt funktioniert) und der Wert aus FormA (ungebundenes Textfeld) in das FormB in ein Textfeld (gebunden) kopiert/eingefügt wird.

so funktioniert es nicht:
frm_Terminvorschlag.feld_Termin1 = frm_Teilnehmender.feld_termin1_teilnehmer

bin über jede Hilfe dankbar.

Gruß
Christian

achso: Forum und www hab ich durchforstet aber nicht gefunden, oder erkannt.;)

hgs_x
26.03.2013, 13:02
Hallo,
wuerde ich mit vba lösen: Deklariere eine public Variable und setze sie bevor Du das andere Formular aufrufst, wenn das andere Formular offen ist belegst Du das Feld deiner Wahl mit dem Inhalt der Variablen.....

Gruß hgs

CptChaos
26.03.2013, 13:14
Was funktioniert an Deinem Ansatz nicht?
Wie sieht der komplette Code aus? Solange das aufrufende Formular noch offen ist, kann das aufgerufene auf die dortigen Werte zugreifen.

Alternative wären OpenArgs (s. OnlineHilfe!), eine globale Variable (Vorschlag von hgs), oder noch was anderes. Dazu bräuchte ich aber mehr Input wieso hier Daten mehrfach verwendet werden müssen und nicht einmal gehalten werden können ;)

Anne Berg
26.03.2013, 13:16
Hallo,

wie öffnest du denn FormB und was genau an dem Code funktioniert nicht?

Es gibt viele Wege so etwas umzusetzen:
- Übergabe des Wertes via OpenArgs beim Öffnen des Formulars
- Zuweisung zu FormB aus FormA heraus
- FormB holt sich den Wert aus FormA (dann muss FormA geöffnet bleiben)
- und schließlich noch mit Hilfe einer globalen Variablen

Lanz Rudolf
26.03.2013, 15:24
Hallo
mir Persöndlich gefält der lezte Vorschlag von Anne
am besten:
mit Hilfe einer globalen Variablen

z.B. in einem Algemeinen Modul folgende Definition

Public Termin1 as Date 'oder was auch immer ;)

CptChaos
26.03.2013, 15:37
Eine globale Variable gefällt mir am wenigsten, da sie z.B. bei einem unbehandelten Fehler ihren Wert verliert.
Wenn schon, dann lieber TempVars (http://www.tksoft-online.de/index.php/ms-access-bsp-dbs/28/331-arbeiten-mit-tempvars.html) verwenden

Anne Berg
26.03.2013, 15:42
@Benny:da sie z.B. bei einem unbehandelten Fehler ihren Wert verliertsorry, aber dagegen ließe sich ja etwas unternehmen - Stichwort "flächendeckende Fehlerbehandlung" ;) - was ich
sowieso für selbstverständlich und unverzichtbar halte.

Lanz Rudolf
26.03.2013, 15:47
Hallo
@Benny
Sauber auf den Leim gekrochen ;)

CptChaos
26.03.2013, 15:47
Da stimme ich Dir voll und ganz zu Anne, nur leider erlebe ich gerade in letzter Zeit genau an dem Punkt immer häufiger "Lochfrass" ;)

hcscherzer
26.03.2013, 18:08
Ich löse "so etwas" mit Objekt-Variablen.
Z.B. so:dim frm as form_frm_Terminvorschlag
set frm = forms("frm_Terminvorschlag")
frm!feld_Termin1 = me!feld_termin1_teilnehmer

Thomas Möller
26.03.2013, 19:21
Hallo Christian,

frm_Terminvorschlag.feld_Termin1 = frm_Teilnehmender.feld_termin1_teilnehmer

Du bist schon nah dran: ;)

Forms!frm_Terminvorschlag.feld_Termin1 = Forms!frm_Teilnehmender.feld_termin1_teilnehmer

Wenn jetzt der Code im Formular frm_Teilnehmender läuft, kann Du noch den Bezug auf das Formular durch "Me." ersetzen:

Forms!frm_Terminvorschlag.feld_Termin1 = Me.feld_termin1_teilnehmer

HTH

cjanny
27.03.2013, 09:41
Hallo zusammen,
vielen Dank für die Tips und Hilfe, ich werd es diese Woche ausprobieren und Rückmeldung geben. Danke :top: