Access Feldnamen ändern



  • Hallo,

    wir wollen in Access einen Feldnamen ändern. Das klappt auch, nur gibt es in einer Tabelle ein Feld mit Namen Text. Dieses könnenw ir nicht ändern, da macht der bcb einen Fehler. Wie kriegen wir das hin, hat da einer eine Idee ?



  • Hallo

    Konkreter Quellcode? Konkrete Fehlermeldung?

    bis bald
    akari



  • Create Table ZWTB (B_ID counter, P_ID int, San_ID int, Datum datetime, Minuten int, Sekunden int, Text text, BehandText text, Thema char(255), Behandlung text, Bild char(255), TerminText char(255))

    EOleException "Syntaxfehler in Felddefinition"

    Leider geht auch der SQL-Befehl ... rename ... nicht. Unterstützt Access nicht.



  • Hallo

    Dieser Fehler liegt garantiert nicht am Builder, sondern an der Syntax deines SQL-Befehls (wie die Fehlermeldung auch sagt). Wenn du diesen SQL-Befehl mal direkt in Access ausführen würdest, sollte genau die gleiche Fehlermeldung kommen.

    Der Grund dürfte sein, das der Feldname "Text" unglücklich gewählt ist, denn es gibt ja ein Feldtyp mit gleichen Namen, und SQL ist nicht casesensitiv. Entweder benennst du das Feld in einen aussagekräftigeren Namen um, oder schreibst den Feldnamen so, das Access beim Parsen des Befehls automatisch den Ausdruck "Text" als Namen und nicht als Symbol ansieht. Zumindestens in PostGre-SQL geht das mit doppelten Hochkommas :

    Create Table ZWTB (..., "Text" text, ...)
    

    Notfalls mal in die Dokumentation von Access schauen.

    bis bald
    akari



  • Ja, das sollte auch bei Access funktionieren (wenn auch eventuell nur mit dme Hochkomma, statt den Anführungszeichen). ABER: Wenn man so vorgeht, muß auch in allen Selects um diesen Feldnamen die Anführungszeichen oder Hochkommas setzen. Das erschwert das dynamische Erzeugen von SQL-Statements unnötig. Man sollte so etwas grundsätzlich vermeiden.



  • Hallo,

    ist ein Access-Problem, das ist klar. 2003 hatte beim Anlegen nicht gemeckert, 2007 weist einen darauf hin. Aber weder "" noch ' gehen, denn dann legt er den Feldnamen entsprechend an "Text" oder 'Text'
    Das Problem ist, dass dieser Fehler beim Anlegen passiert ist. Leider geht kein rename, weil Access dies nicht unterstützt. Ich will aber vermeiden 90 Datenbanken zu uns zu transferieren und dies per Hand zu ändern.



  • es gibt nur eine Möglichkeit den Spaltennamen zu ändern:

    Erstelle eine neue Spalte mit dem gewünschten Namen in der Tabelle und kopiere die Daten von der alten in die neue Spalte, das geht dann mit Hilfe eines SQL-Befehls


Anmelden zum Antworten