Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zugriff auf Variable aus anderem Formular

716 views
Skip to first unread message

Markus Faßbender

unread,
May 23, 2000, 3:00:00 AM5/23/00
to
Hallo,
wie kann ich mit VBA von einem Formular auf eine Variable, die in einem
anderen Formular deklariert wurde, zugreifen ???
(Ich habe die Variable schon als Public deklariert, beim Visual Studio
klappt das damit, aber bei Access 97 nicht. Was mache ich falsch?)

MfG
Markus

--

---
Die inoffizielle Formel 1 Seite
www.fasse-net.de

Klaus Oberdalhoff

unread,
May 24, 2000, 3:00:00 AM5/24/00
to
Hi,

> (Ich habe die Variable schon als Public deklariert, beim Visual Studio
> klappt das damit, aber bei Access 97 nicht. Was mache ich falsch?)

wenn globale Variable, dann mußt du sie schon in einem eigenen Modul
definieren. In einem Klassenmodul der Form klappt das in Access nicht, da
sind Vaiable per Definition immer lokal ...

--
mfg

Klaus KO...@gmx.de

PS:Tips und Tricks zu ACCESS 97 (** KnowHow-MDB ** Ver 3.0 - 30.9.1999)
unter http://www.accessware.de/
Access-FAQ bei: http://www.donkarl.com/AccessFAQ.htm


"Markus Faßbender" <m.fass...@gmx.de> schrieb im Newsbeitrag
news:8gepcl$f...@ar4news.dlh.de...

Norbert Kammer

unread,
May 24, 2000, 3:00:00 AM5/24/00
to
Klaus Oberdalhoff schrieb:

>
> Hi,
>
> > (Ich habe die Variable schon als Public deklariert, beim Visual Studio
> > klappt das damit, aber bei Access 97 nicht. Was mache ich falsch?)
>
> wenn globale Variable, dann mußt du sie schon in einem eigenen Modul
> definieren. In einem Klassenmodul der Form klappt das in Access nicht, da
> sind Vaiable per Definition immer lokal ...
>

Hallo,
globale Variablen meide ich wie die Pest. Ich schreibe in solchen Fällen
eine kleine Public Function im Formularmodul, die lediglich den Wert der
Variable liefert.

Norbert

Michael Storchmann

unread,
May 24, 2000, 3:00:00 AM5/24/00
to
Klaus Oberdalhoff <ko...@gmx.de> schrieb:

> wenn globale Variable, dann mußt du sie schon in einem eigenen Modul
> definieren. In einem Klassenmodul der Form klappt das in Access nicht, da
> sind Vaiable per Definition immer lokal ...

Neee, falsch. Wenn eine Variable in einem Formular als Public
deklariert ist, kann man auch von außerhalb darauf zugreifen -
allerdings nur, wenn Formular geöffnet bzw. das die Klasse
instanziert wurde Auch als Public deklarierte Methoden kann
man im Formular von außen aufrufen.

Beispiel: TestFormular

Public TestVar as Long

... Irgendein Modul

Dim F as Form
Set F = New Form_TestFormular
[F.Visible=True, wenn das Formular sichtbar sein soll]
[oder DoCmd.OpenForm "TestFormular"
Set F=Forms!TestFormular]

F.TestVar=100
MsgBox(Str(F.TestVar))

Gerade getestet. Das "New" könnte man sich auch
sparen. Genau wie bei normalen Klassenmodulen
erstellt Access beim ersten Zugriff

Set F = Form_TestFormular

eine Standardinstanz.

Bye, Michael

Peter Steimann

unread,
May 24, 2000, 3:00:00 AM5/24/00
to
hallo michael

"Michael Storchmann" <mstor...@cityweb.de> schrieb im Newsbeitrag
news:8ghbpk$6s1$1...@news.cityweb.de...


> Klaus Oberdalhoff <ko...@gmx.de> schrieb:
>
> > wenn globale Variable, dann mußt du sie schon in einem eigenen Modul
> > definieren. In einem Klassenmodul der Form klappt das in Access nicht,
da
> > sind Vaiable per Definition immer lokal ...
>
> Neee, falsch. Wenn eine Variable in einem Formular als Public
> deklariert ist, kann man auch von außerhalb darauf zugreifen -

ich definiere eine globale variable allerdings anders.;)

> allerdings nur, wenn Formular geöffnet bzw. das die Klasse
> instanziert wurde Auch als Public deklarierte Methoden kann
> man im Formular von außen aufrufen.

imo ist das dann aber eine public-variable und nicht eine global variable.
da ist für mich ein unterschied. das kriterium ist nicht, dass du von aussen
darauf zugreifen kannst, sondern, dass diese während der ganzen laufzeit des
programmes zur verfügung steht.

gruss

peter


Michael Storchmann

unread,
May 25, 2000, 3:00:00 AM5/25/00
to
Peter Steimann <PSte...@Pilatusnet.ch> schrieb:

> imo ist das dann aber eine public-variable und nicht eine global variable.

Ja eben. Irgendwie scheint jeder jeden nicht zu verstehen :-)

Klaus:


In einem Klassenmodul der Form klappt das in Access nicht, da
sind Vaiable per Definition immer lokal ...

Michael:


Neee, falsch. Wenn eine Variable in einem Formular als Public
deklariert ist, kann man auch von außerhalb darauf zugreifen -

Klaus schlug eine globale Variable vor, ich nicht - sondern eine
öffentliche Objektvariable. Und genau darauf wollte Markus
"von außen" zugreifen. Oder nicht?

Bye, Michael

Klaus Oberdalhoff

unread,
May 25, 2000, 3:00:00 AM5/25/00
to
Hi,

vielen Dank für die Infos. Eine ganze Menge dazugelernt und sorry für meine
Fehlinformation.

--
mfg

Klaus KO...@gmx.de

PS:Tips und Tricks zu ACCESS 97 (** KnowHow-MDB ** Ver 3.0 - 30.9.1999)
unter http://www.accessware.de/
Access-FAQ bei: http://www.donkarl.com/AccessFAQ.htm

"Michael Storchmann" <mstor...@cityweb.de> schrieb im Newsbeitrag

news:8ghndf$oqr$1...@news.cityweb.de...

0 new messages