Zum Inhalt springen

VBA:Textfelder zur Laufzeit umnennen


Empfohlene Beiträge

Geschrieben

Hallo miteinander,

ich habe unter Access ein Formular mit einige Textfeldern. Dem Formular weise ich einen Recordsource zu. Daher macht er eine Liste aus den Textfeldern. Als Benennung für die eizelnen Spalten zieht er sich die Namensgebung der einzelnen Textfelder heran. Ich will jetzt aber, abhängig von Abfragewerten die Spaltennamen zur Laufzeit verändern können, doch das geht nicht.

Ich habe es schon mit Text1.name = "Test" versucht, doch die Fehlermeldung sagt mir, ich können diese Anweisung nur in der Entwicklungsumgebung ausführen.

Nun meine Frage: Ist dies überhaupt möglich (und wenn, wie)?

Danke im voraus

Arnie

Geschrieben

ich kapiere nicht, warum man eine Komponente zur Laufzeit umbenennen will? Ganz davon abgesehen, denke nicht das sowas möglich ist. Nach dem Compilieren weiss das Programm mit dem Namen ncihts mehr anzufangen, der Name ist nur eine Erleichterung für den Menschen (vergleichbar mit den Domainnamen, die ja eigentlich auch IP-Adressen sind).Der Compiler wandelt das in Adressen innerhalb des Programms bzw. des Speichers um. Diese Adresse zur Laufzeit zu ändern würde ein Neucompilieren erfordern...

Geschrieben

Mir is zwas auch nicht so klar was du damit bezwecken willst, aber falls es unbedingt nötig ist, hier mal ein kleiner WorkAround:

Du kannst nämlich beliebig Referenzen auf Formobjekte vergeben. Angenommen du willst einen Button cmdLogin mit einem anderen Namen ansprechen (warum auch immer :-), machst du folgendes:


Dim cmdAuchLogin as CommandButton

Set cmdAuchLogin=cmdLogin

cmdAuchLogin.Caption="Ich kann das auch!"

Geschrieben

Habe das "Workaround" mal ausprobiert, doch bekomme den gleichen Fehler (Laufzeitfehler '2136'; "Damit sie diese Eigenschaft einstellen können, müssen Sie das Formular bzw. den Bericht in der Entwurfsansicht öffnen.")

Ich will das machen, da man in einem Formular die SQL Abfrage anpassen kann. In einer Tabellenspalte soll dann z.B. "2 Tage", "3 Tage", etc. stehen. Je nach Abfrage. Das ist der Grund. War nicht meine Idee, sondern die meines Ausbilders ;-)

MfG Arnie

Geschrieben

Also heißt das, wenn ich mich nicht irre, dass du nicht den Namen des Textfeldes änder willst, sondern eine Überschirft ???

Wenn ja, nimm dir einfach ein Label und ändere dabei während der Laufzeit die Beschriftung

lblTage.Caption = "3 Tage"

Matze

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...