Autor Beitrag
MarkusSommer
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 31.03.05 17:53 
Hallo zusammen,
ich würde mich freuen, wenn mir jemand bei meinem kleinen (aber dringenden) Problem weiterhelfen könnte:
Wie kann mann über ADOX die Tabellenstruktur einer Access Datenbank so so abändern, dass ein einfaches Datetime-Feld das Format "Zeit, 24Std" nutzt.
Ein kleines Code-Beispiel wäre super.
Vielen Dank im Voraus
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Fr 01.04.05 09:31 
Hallo und willkommen
die Tabellenstruktur ist in dem Fall immer die Gleiche. Auch ein Zeiteintrag ist ein DateTime Wert. Ob es bei Access ein explizites Time-Feld gibt kann ich dir nicht sagen aber du kannst auf jeden Fall das Anzeigeformat so ändern, dass nur die Zeitdarstellung verwendet wird.
Du kannst z. B. im AfterOpen Event folgende Formatierung zuweisen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.adoAfterOpen(DataSet: TDataSet);
begin
  with ado.FieldByName('x') as TDateTimeField do
     DisplayFormat := 'hh:nn';

end;

Wenn es ein Time-Feld bei Access gibt, kannst du auch versuchen mittels SQL den Feldtyp dauerhaft zu ändern
ausblenden Quelltext
1:
ALTER TABLE Tabelle ALTER Feldname TYPE Feldtyp					


Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
HSchaffi
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Fr 01.04.05 10:46 
Hallo,

Es gibt in Access nur einen Datentyp vom Typ "Datum/Zeit". Nur verschiedenen Formate können dort eingestellt werden. In dem Fall wäre es "Zeit, 24Std".

_________________
Gruss HSchaffi
Gegenseitige Achtung ist wie ein Lächeln - sie kostet nichts, und jeder freut sich darüber. ( Vagner Fernando Lobosco )
MarkusSommer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 01.04.05 15:34 
Hallo Lothar,
vielen Dank für Deine Antwort. Alles was Du schreibst ist richtig.
Allerdings möchte ich eben nicht nur das DisplayFormat programmseitig ändern sondern das Format des DateTime-Feldes Datenbankseitig auf "Zeit, 24Std" setzen. Die einfachste Lösung wäre natürlich Access zu starten und das Format des DeateTime Feldes einfach zu ändern. Ich möchte es aber aus meinem Programm heraus
machen. Mit SQL geht das nicht (gesichertes Wissen).
Der Schlüssel liegt in ADOX (auch gesichertes Wissen). Ich weiss nur nicht
welches Propertie des _Column Objekts ich wie bearbeiten muss.
Vielleich kennt ja jemand die Lösung.

Markus