Übergabeparameter weiterverarbeiten

Hallo Experten,

hab da mal ne Frage :smile:

Ich möchte in VBA an eine Funktion den Namen einer Liste (die sich auf einem Formular befindet) übergeben und in dieser Funktion mit diesem Namen weiterarbeiten.

Das ganze könnte ca so aussehen(als einfaches Beispiel habe ich gewählt, ein Listenfeld unsichtbar zu machen):

Private Sub Befehl01_Click()
'Funktionsaufruf soll bezwecken, dass Liste unsichtbar wird
fctTest liste1
End Sub

Sub fctTest(ByVal ListenName As Variant)

ListenName.Visible = False

End Sub

Soweit die Theorie! Ihr dürft mir jetzt erklären, wie das in der Praxis funktioniert. Wie muss ich das machen, dass ich mit dem übergebenen ListenName weiterarbeiten kann? Bin da etwas ratlos :smile:

Gruß Kai

Hallo Kai,

also, wenn ich dich richtig verstanden habe, geht es um die dynamische Nutzung von Feldnamen? oder bezweckst du noch was anderes?

Ich gehe mal davon aus, dass der Name der Liste bekannt ist?

Dann den Namen per String übergeben: fctTest „liste1“

Sub fctTest(ListenName)

wenn die Funktion im allgemeinen Teil ist:

Forms!MeinFormular!(ListenName).Visible = False

wenn die Funktion im Formular ist:

Me!(ListenName).Visible = False

End Sub

Soweit die Theorie! Ihr dürft mir jetzt erklären, wie das in
der Praxis funktioniert.

das kannst du in der Hilfe von Access nachlesen…

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

So ganz wird auch mir nicht klar, was das werden soll, aber schau dir mal die Run-Methode in der Hilfe an. Oder noch besser: Erzähl mal genauer, was du beabsichtigst.

Gruß aus dem Norden
Reinhard Kraasch

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

Hallo,

was mit nicht so ganz klar ist… was bezweckst du mit dem Namen der Liste als String?

Das Listenelement existiert ja wohl als Objekt in einem Formular, warum arbeitest du dann nicht eben mit diesem Object?

Sub fctTest(ByRef objList As Object)

objList.Visible = False

end sub

i.d.F ist es auch egal woher der Aufruf kommt und in welchem Formular die Liste plaziert ist.

Tschau
Peter

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

Hallo,

da ich erst am Anfang von Access stehe, war mir nicht klar, dass man auch Objekte an Funktionen übergeben kann. In meinen Übungs-Beispielen wurden bis jetzt nur Strings und Integer-Werte übergeben.

Jetzt klappt das auf jeden Fall wunderbar. Vielen Dank für deine Antwort Peter. Hat mir sehr weitergeholfen.

Aber auch Danke an die anderen. :smile:

Gruß Kai