Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Erstellen von Tabellen MSACCESS über Tquery (https://www.delphipraxis.net/31461-erstellen-von-tabellen-msaccess-ueber-tquery.html)

D.BraunSoft 9. Okt 2004 17:10


Erstellen von Tabellen MSACCESS über Tquery
 
Wer kann mir helfen?

Das erstellen von Tabellen ist schon OK.
Query2.SQL.Add('create Table X25_STA('
+'OBJEKT double not null ,'
+' UTime double .... usw.
Wie setze ich die Zusatzeinstellungen wie Format bei Datum/Uhrzeit oder Dezimalstellen bei Double oder Standartwerte oder Leere Zeichenfolgen Ja/Nein.
Alle Versuche waren bisher erfolglos.

Danke für die Antworten.

Bernhard Geyer 9. Okt 2004 17:34

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Dafür ist ADOX besser zu verwenden.

D.BraunSoft 14. Okt 2004 15:42

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Das ist ja nicht befriedigen habe gedacht jemand hat das Problem schon gelößt.
Schade oder findet sich noch jemand?

MfG D. Braun

Treffnix 14. Okt 2004 15:51

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Wenn ich mich nicht irre ist das Format für die Nutzung in Delphi doch unerheblich. Ob ein Datetimewert innerhalb von Access nun YY-MM-DD oder DD.MMMM.YYYY oder wie auch immer dargestellt wird hat doch nur innerhalb von Access Bedeutung. Und auch da nur optische. Gespeichert wird er als Double, oder nicht? Gleiches gilt für Nachkommastellen.

Mit den Standardwerten schau ich heute Abend mal zu Hause, ob ich da irgendwo was habe.

D.BraunSoft 14. Okt 2004 18:41

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Danke das du mal nachsiehst. Du mags ja recht habe mit dem Datum und Double, aber ich dacht man kann diese Einstellungen doch irgendwie setzen. Wenn du eine Lösung wegen Standartwerte oder Leere Zeichenfolgen Ja/Nein.
hast wäre mir geholfen.

Danke D. Braun

Treffnix 14. Okt 2004 21:32

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Tut mir leid, aber ich kann dir auch nicht helfen. Scheinbar ist das über SQL nicht machbar. Das einzige Mal, wo ich die leere Zeichenfolge auf True gesetzt habe, hab ich das über VBA gemacht ( AllowZeroLength ) und das war auch nur ne Test-DB. In meinen aktuellen Programmen fange ich Leerstrings mangels besserer Lösung einfach bei der Eingabe ab und ersetze sie durch NULL. Auch für den Standardwert hab ich keine Lösung. Default funktioniert scheinbar bei Access nicht. :(


Schau dir doch wirklich mal die ADOX-Geschichte an, die Bernhard vorgeschlagen hat. Darüber ist das nämlich alles machbar, halt nur nicht als SQL-Statement.

mikhal 15. Okt 2004 08:03

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Ich verwende bei meinen Create Table Statements folgende Datentypen und habe dann anschließend keine Probleme, mit Delphi, die Formatierungen furchzuführen:

Counter für Autoincrement
Boolean für ja/nein
Currency für Währung
Datetime für Datum und Zeit
Integer für Ganzzahl
Double für Dezimalzahl
Text oder Varchar für Textfelder (maximal 255 Zeichen)
Memo oder LongText für Memo-Feld
LongBinary für einOLE-Feld

Grüße
Mikhal

Treffnix 15. Okt 2004 08:46

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Hallo mikhal,

die Datentypen sind, denke ich, bekannt. Das Problem ist, dass es scheinbar über SQL keine Möglichkeit gibt, die Access-spezifischen Formatierungen und Einstellungen wie z.B. das Erlauben von Leerstrings einzustellen.

woki 15. Okt 2004 08:58

Re: Erstellen von Tabellen MSACCESS über Tquery
 
Hallo,

folgender Vorschlag:

Hast du schon mal versucht, die Definitioenen in Access einzustellen, und dann als Script zu exportieren?

Grüsse
Woki

mikhal 15. Okt 2004 09:12

Re: Erstellen von Tabellen MSACCESS über Tquery
 
@Treffnix: SQL bietet je nach Hersteller spezifische Mittel, um Daten zu formatieren. Da kocht fast jeder Hersteller sein eigenes Süppchen. Aber es gibt in SQL Funktionen, die ich in der DML verwenden kann, um zum Beispiel ein Datum in das Format zu wandeln, das ich anzeigen möchte. Microsoft verwendet in seinem SQL-Server z.B. die Funktion CAST, deren Parameter dann das Format der Ausgabe vorgeben. Oracle verwendet TO_CHAR, um ein Datum zu formatieren (Ergebnis ist jedesmal ein String).

Jetzt auf die einzelnen Möglichkeiten einzugehen, würde dann auch zu weit führen, hier sollte die Hilfe der Hersteller zu Rate gezogen werden.

Um aber festzulegen, ob eine Zeichenkette leer sein soll, das ist wieder MS-typisch: SQL bietet lediglich den Constraint NOT NULL an, wenn ein Datenfeld UNBEDINGT gefüllt sein soll, ansonsten darf ihm durchaus der Wert NULL zugewiesen werden.

Grüße
Mikhal

[edit]
Ansonsten bieten sich auch noch die persistenten Felder an: rechte Maustaste auf die TQuery, Alle Felder auswählen und alnschließend für das Feld die Formatierungen in der Formatmaske vorgeben bzw. die Property Currency auf True setzen, wenn die Währung ausgegeben soll.
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz