Arnie Geschrieben 9. Mai 2003 Geschrieben 9. Mai 2003 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 Zitieren
geloescht_JesterDay Geschrieben 9. Mai 2003 Geschrieben 9. Mai 2003 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... Zitieren
Bombay Geschrieben 11. Mai 2003 Geschrieben 11. Mai 2003 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!" Zitieren
Arnie Geschrieben 12. Mai 2003 Autor Geschrieben 12. Mai 2003 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 Zitieren
DerMatze Geschrieben 12. Mai 2003 Geschrieben 12. Mai 2003 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 Zitieren
Empfohlene Beiträge
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.