online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon bully vom 26.10.2019, 11:59 Options

globale variable

Hallo,

habe 2Formulare. ich öffne durch einen Button aus dem 1.Formular das 2.Formular. Im zweiten Formular(form2) ist ein Kombifeld(kombi1) wo Werte ausgesucht werden, dahinter noch ein Textfeld(Text1), wo ich manuell Daten eingeben kann.
Diese werden in der Tabelle (Tabelle2) gespeichert.
Das Textfeld und das Kombifeld sollen, im 1.Formular (form1) in einem textfeld(text2,text3) stehen, wenn ich form2 schließe.
Die Werte aus der 1.Tabelle werden in "Tabelle1" gespeichert.

Wie schaffe ich es mit einer globalen Variablen die Daten zu übertragen?? So richtig schnalle ich das nicht.
Ich hoffe ihr könnt mir helfen...


Antwort schreiben

Antwort 1 von lleopard vom 26.10.2019, 12:57 Options

moin bully

du hast es schon gut gemacht:

Form1: Button1 Öffnet Form2

und - wenn du geschickt bist - blendest du Form1 nur aus:

me.visible = false

Dann gibst du deine Daten ein, speicherst die in der Tabelle2
Zitat:
Im zweiten Formular(form2) ist ein Kombifeld(kombi1) wo Werte ausgesucht werden, dahinter noch ein Textfeld(Text1), wo ich manuell Daten eingeben kann.


Nun zum nächsten Punkt:
Zitat:
Das Textfeld und das Kombifeld sollen, im 1.Formular (form1) in einem textfeld(text2,text3) stehen, wenn ich form2 schließe.


Wenn du nur einzelne Werte übergibst, bietet es sich an das so zu machen:

beim Schließen von Form2 eine kleine Ereignisprozedur:

Forms!Form1!text2.Caption = Textfeld1.Value
Forms!Form1!text3.Caption = Textfeld2.Value

Oder bei der gesamten Quelle eine Kombi-Feldes:
dim stg as string, cc as long , i as integer
cc = Kombifeld.columns.Count

for 0 = 1 to cc -1
stg = stg & Kombifeld.columns(i)
next i

Forms!Form1!text2.Caption = stg

man braucht dafür also keine globale Variable.

Da du die Werte aber auch in der Tabelle2 hast,

kannst du in Form1 ja auch ein Kombifeld haben, welches sich auf diese Werte bezieht, dann reicht beim schließen von Form2 und einblenden von Form1 in Form1 das Kombifeld neu berechnen zu lassen

Forms!Form1!Kobifeld.Requery

vielleicht ist ja eine der Lösungen die Richtige für dich...

Gruß leo

Antwort 2 von bully vom 26.10.2019, 14:25 Options

Danke für die schnelle Antwort,

habe es folgendermaßen gemacht:

habe form2 durch einen button in form1 geöffnet&form1
durch den befehl

me.visible = false

unsichtbar gemacht.
Frage1:Wie mache ich bei schließen von form2, form1 wieder sichtbar??

Dann habe ich folgende zeile eingefügt, beim button schließen=>Ereignis=>beim Klicken

Forms!Form1!text2.Caption = Textfeld1.Value
Forms!Form1!text3.Caption = Textfeld2.Value

Das Textfeld1und2 habe ich an die Felder in Form1 angepasst, aber Fehlermeldung:
"In dem von Ihnen angegebenen Ausdruck wird auf ein Objekt verwiesen, das geschlossen ist oder nicht existiert."

Frage2: Wie bekomm ich das weg???
habe das me.visible =false gelöscht, selber Fehler...

Hast du eine Idee

Antwort 3 von lleopard vom 27.10.2019, 11:31 Options

hallo bully,

ein bisschen mehr fantasie :-)))

so wie du die Werte von Form2 zu Form1 überträgst, machst du das auch für das einblenden von Form1, nämlich:

Forms!Form1.Visible = true

Dann erst übergibst du die Werte, und dann schließt du Form2:

DoCmd.Close acForm, "Form2"

Gruß leo

Antwort 4 von Bully vom 29.10.2019, 09:53 Options

Das hat auch einwandfrei funktioniert,

jetzt kommt beim öffnen von Form1 die Fehlermeldung
"Objekt unterstützt Eigenschaft oder Methode nicht".

Es sind alles Textfelder! Daran sollte es nicht liegen...

Idee woran noch??

Antwort 5 von lleopard vom 29.10.2019, 11:30 Options

Hi Bully,

an irgendeiner Stelle hast du dann einen falschen Verweis.

Entweder .Caption statt .Value oder umgekehrt... :-D

Probier mal folgendes. Wenn er diese meldung anzeigt drückst du Strg + Unterbrechen. Dann sollte er in die Codeansicht wechseln und an der zeile, an der er steht, alles in Gelb anzeigen... Das Feld oder formular oder,,,, sollte dann das falsch hinterlegte sein!

Gruß leo

Antwort 6 von Bully vom 29.10.2019, 11:32 Options

Das wars gewesen,

habe das caption in value geändert und voila es funktioniert!!

Danke IIeopard!!!

Ähnliche Themen

Globale Variable und Inputbox in VBA
Vergil  17.12.2007 - 189 Hits - 1 Antwort

Globale Variablen
WORD_Man  09.01.2008 - 186 Hits - 1 Antwort

Globale Variable im Formular Anzeigen
AndiS  28.02.2008 - 109 Hits -

Access 2003 Globale Variablen
ZapT  30.05.2008 - 97 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026