Veröffentlicht 21. April 200421 j Hi, folgendes Problem: Ich will in einer PHP Konstante ein Datum im Access-Format abspeichern. Jetzt weiß ich aber nicht genau, wie Access ein Datum formatiert, denke aber TT.MM.JJJJ . Wenn ich folgenden Code schreibe erhalte ich eine Fehlermeldung: Unexpected T_DNUMBER in Line XX ... define(START_DATE, 11.11.2002); ...[/PHP] Was mache ich falsch?? Danke für eure Hilfe!
22. April 200421 j Wenn du das Datum an Access übergibst, dann musst du es noch zwischen zwei "#" setzen. Du musst ggf. auf explizit gesetzte Formate in der Datenbank achten.
22. April 200421 j Auf jeden Fall stimme ich meinem Vorgänger zu, dass Du das Datum nicht einfach pauschal setzen kannst. In der Access-DB gibt es ca. 4 (wenn nicht sogar mehr) Arten ein Datum abzuspeichern. Da ist es ratsam vorher mal nachzusehen. Sicher fährst Du, wenn Jahr, Monat, Tag jeweils in einer einzelnen Spalte stehen
22. April 200421 j Autor Ich hab geschaut und in der Access-Datenbank sind alle Daten in diesem Format (TT.MM.JJJJ) abgespeichert, als Felddatentyp ist "DATUM/UHRZEIT" benannt. Das kann man auch nicht mehr ändern, weil es die DB schon lange gibt und daher schon etliche Einträge enthält. Mir geht es hauptsächlich darum, wie ich der Konstante den Wert zuweise, weil in der Fehlermeldung explizit auf die Zeile verwiesen wird, in welcher die Konstante deklariert wird. Bin für weitere Tipps und Hinweise dankbar! STMi
22. April 200421 j Autor Ich habe jetzt alle Tipps befolgt, aber leider klappt es immer noch nicht: define(START_DATE, "#11.11.2002#"); //habs auch ohne # probiert mit Hilfe dieser Konstante setzt sich folgende SQL-Abfrage zusammen: SELECT * FROM timetableWHERE pk_date >= #11.11.2002# Naja, dann kommt nur meine selbst generierte Fehlermeldung: "Keine Quelldaten in Datenbank gefunden" Es kann aber definitiv nicht sein, dass es kein Datum gibt, dass größer als das o.g. ist. Ich bin am Verzweifeln:rolleyes: :confused:
22. April 200421 j bei mir funktionierts so: SELECT Eintraege.modDatum FROM Eintraege WHERE Eintraege.modDatum > #08/23/2002# also englisches datum in # gesetzt.(obwohl mein datentyp in access auch datum/uhrzeit ist und ich dachte dass es damit deutsches format hat) define("START_DATE", "#08/23/2002#");
22. April 200421 j Autor Original geschrieben von forTeesSake bei mir funktionierts so: ... define("START_DATE", "#08/23/2002#"); Tausend Dank!! Da muss man erstmal drauf kommen, so ein dämliches Format. Jetzt funktioniert es bei mir auch wunderbar!! ein großes :uli !!! StMi
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.