![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Feldtypen der Access-DB
Hallo Wissende!
Ich bräuchte mal bitte die Info, wie ich bestimmte Datenbankfelder in einer Access-DB anlegen kann. Ich weiss nun schon, wie es sich mit den folgenden verhält: feldtyp:= ' counter'; //Autowert feldtyp:= ' varchar'; //Text feldtyp:= ' integer'; //Zahl feldtyp:= ' longtext'; //Memo feldtyp:= ' longbinary'; //Blob DM.ADOQuery1.SQL.Add('ALTER TABLE '+tabelle+' ADD '+feldname+feldtyp); DM.ADOQuery1.ExecSQL; Ich benötige noch die Info für: boolean Datum/Uhrzeit Währung Gibt es sonst noch wichtige, die ich vergessen haben könnte??? |
Re: Feldtypen der Access-DB
Zitat:
|
Re: Feldtypen der Access-DB
Leider falsch!
Ich wollte wissen wie die Variablen Namen heissen, die ich dafür dem SQL-Statement übergeben muss, damit eben diese FeldTypen erzeugt werden. Um einen Autowert zu erhalten muss man 'counter' übergeben Ich wollte nun wissen, wie die Bezeichner für Boolean Datum/Uhrzeit und Währung noch lauten... |
Re: Feldtypen der Access-DB
Sorry,
|
Re: Feldtypen der Access-DB
Syntax Error in field definition erscheint, wenn ich versuche ein Boolean Feldtyp zu erstellen, wenn ich dafür Boolean verwende...
gibt es dafür eine Erklärung? Was auch total komisch ist, wenn ich ein Textfeld anlege und dies mit VarCahr Tue und das Feld mit 'Text' bezeichne, erhalte ich die gleiche Fehlermeldung: Syntax Error in field.Benne ich aber das Textfeld a´la 'Textus' klappt es sofort. Hier mal mein Code:
Delphi-Quellcode:
tabelle:='beispiel';
feldname:=ed_feldname.text; //freie eingabe des feldnamens case rad_fieldtyp.ItemIndex of //auswahl des feldtyps in radiobox 0 : feldtyp:= ' counter'; 1 : feldtyp:= ' varchar'; 2 : feldtyp:= ' integer'; 3 : feldtyp:= ' longtext'; 4 : feldtyp:= ' boolean'; 5 : feldtyp:= ' longbinary'; 6 : feldtyp:= ' currency'; 7 : feldtyp:= ' datetime'; end; DM.ADOTable1.Active:=true; DM.ADOQuery1.sql.Clear; DM.ADOQuery1.SQL.Add('ALTER TABLE '+tabelle+' ADD '+feldname+feldtyp); DM.ADOQuery1.ExecSQL; |
Re: Feldtypen der Access-DB
Ich versuche gerade zu kapieren, warum man sich hetzutage noch mit so einem Spielzeug wie Jet rumärgert. :gruebel:
Ehrlich gesagt: Ich kapier's nicht. :freak: |
Re: Feldtypen der Access-DB
Hallo Robert!
Vielen Dank für Deinen konstruktiven Beitrag! |
Re: Feldtypen der Access-DB
Zitat:
Für den Rest bin ich jetzt zu müde, denke morgen drüber nach. Gute Nacht. |
Re: Feldtypen der Access-DB
Ich meinte das durchaus ernst.
Es gibt einfach keinen vernünftigen Grund irgendetwas mit Jet zu lösen. Was du mit Jet machen kannst solltest du mit FireBird besser und einfacher erledigen können. Natürlich ist eine DAU-1-2-3-ClickMe DB in Access "einfach" hingeschludert, aber wenn du dein Daten absolut normalisiert und vielleicht noch mit einem Audit trial ablegen willst -> Es geht vielleicht mit Jet. Aber nur solange du nur einen Benutzer hast, Trigger kannst du natürlich knicken. ;) (Und somit würde auch ein audit trial wegfallen) Mehrere User auf einer Jet DB ist gleichbedeutend mit korrupten Dateien. ;) Aber mach' nur... Ich halte mich ab jetzt raus. ;) |
Re: Feldtypen der Access-DB
@Robert: Darf ich da mal widersprechen, auch wenn Du Dich jetzt raushalten willst? Ich habe durchaus andere und positive Erfahrungen gemacht. Gute Nacht! Und von einfach hingeschludert kann nun auch nicht die Rede sein. Und als DAU fühle ich mich deswegen auch noch nicht.
|
Re: Feldtypen der Access-DB
Oh, den konnte man schnell falsch verstehen. :oops:
Ich meinte, dass es einfach ist eine Mist-DB zusammenzuklicken, aber eine wirkliche DB. Von oben bis unten normalisiert, mit consistency constraints & Co* wirst du mit Jet nicht hinkriegen KÖNNEN. Eine halbwegs durchdachte DB wäre vielleicht möglich aber total umständlich... Das Ding ist schließlcih nur eine Art Paradox Ersatz. Und seit es kostenlose Alternativen wie FireBird oder das wirklich geniale PostGreSQL gibt, gibt es absolut kein Argument mehr für Jet. *Also eine DB, die zu jedem Zeitpunkt zwangsläufig nur konsistente Daten enthält |
Re: Feldtypen der Access-DB
Hallo Robert!
Hättest Du Deine Argumente gleich in Deinem ersten Posting angeführt, denke ich, dass es nicht zu den nun vorhandenen "Missverständnissen" gekommen wäre. Die Problematik ist zwar noch die gleiche, aber ich denke, dass ich mir mal die von Dir aufgelisteten Alternativen zumindest mal ansehen werde! |
Re: Feldtypen der Access-DB
Zitat:
SQL-Code:
Nachtrag:
ALTER TABLE Nixda ADD test varchar(40)
Ich habe deine Frage ungenau gelesen. Der Grund für den Syntax Error ist, dass du ein reserviertes Word als Feld- oder Tabellennamen benutzt hast. Goldene Regel für Datenbankdesigner: Niemals reservierte Wörter für Feld-, View-, StroredProc- oder Tabellennamen verwenden!http://www.jsoftware.com/books/help/user/sql_reserved_words.htm |
Re: Feldtypen der Access-DB
Hallo Shmia!
Vielen Dank. Danke auch, dass Du mir gleich noch den Link mit den reservierten Wörter gesandt hast. Das spart mir wieder die Suche. Man(n) ist ja bekanntlich faul. Also werde ich da noch eine kleine Prüfung einbinden, damit da nicht noch schlimmeres passieren kann! |
Re: Feldtypen der Access-DB
Zitat:
Access selbst (bzw. die Jet-Engine) bringt auch noch reservierte Wörter mit. Wenn man schlau ist, vermeidet man alle reservierte Wörter von sämtlichen gängigen Datenbanken (Access, SQL Server, Interbase, Firebird, Oracle, ADS, ...). meine gesammelten Links: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Feldtypen der Access-DB
Habs mir gleich alles gezogen und kopiert.
Kann es sein, dass man mit 'Boolean' nicht wirklich ein Boolschen Feldtyp erstellen kann? Alle anderen waren richtig, aber bei 'Boolean' bekomme ich immer die Fehlermeldung! |
Re: Feldtypen der Access-DB
Zitat:
|
Re: Feldtypen der Access-DB
werde ich gleich mal probieren!
Gibts dazu eigentlich auch eine Liste, welche DatenTyp bei der Erstelleung wie benannt werden müssen?? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz