title image


Smiley VBA: Objekt ByRef übergeben
Hallo!



Gleich zu Beginn der nicht so wichtige Hintergrund:

Ich habe eine Access App in der ich Bilder in einer DB speichern will.

Über ein Formular sollen die Pfade zu den Bildern über einen FileDialog ausgewählt werden können.

Ich hab den Fehler in einer neuen .mdb nachgestellt und da tritt das selbe Problem auf



Jetzt zum eigentlichen Problem:

Ich hab NUR ein Formular in dem NUR ein Textfeld "text1" und ein Button "button" sind.



Jetzt will ich, dass wenn man auf den Button klickt, ein Sub aufgerufen wird, das den Inhalt des Textfeldes auf "Foo" setzt. Dabei soll das Feld an die Sub als Parameter übergeben werden.



Mein Code:

Private Sub button_Click()

    SetFoo (text1)

End Sub

Sub SetFoo(feld)

    feld.Value = "Foo"

End Sub





Beim Click auf den Button kommt immer der Laufzeitfehler "Objekt erforderlich"

wenn ich den Klick-Handler folgendermaßen ändere:

Private Sub button_Click()

    MsgBox text1

    SetFoo (text1)

End Sub

dann kommt in der MessageBox der Text der im Feld steht



Meine Annahme: Es wir nicht das Feld übergeben, sondern der String, der in dem Feld steht. Also schlägt "feld.Value" fehl, weil der String ja keine "Value" Eigenschaft hat



Also, wie kann ich VBS sagen, dass ich nicht den Text der in dem Feld steht übergeben will, sondern das TextBox-Objekt selbst (ByRef!)



Hab schon alles mögliche versucht, wie "Sub SetFoo(ByRef feld As TextBox)" und alle möglichen Kombinatienen aus Typen-Definition, und ByRef Angabe. Hat nix geholfen, der Fehler is der gleiche.



Man könnte jetzt sagen: Warum als Parameter übergeben, und nicht direkt ansprechen (mit "text1.Value").

Das Problem ist, dass ich das Feld eigentlich ja nicht auf "Foo" setzen will (is nur verainfacht) sondern den Wert für das Feld in der Sub bestimmen will. Außerdem soll es nicht nur für das eine Feld text1 funktionieren , sondern für jeden andere Feld auch!



Danke schonmal! Grüße aus Niederösterreich!

Daniel

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: