Microsoft Access DateTime Default Nun per SQL

Schreibe ich eine Reihe von Skripten zu aktualisieren zahlreichen Access-Tabellen. Ich würde gerne eine Spalte hinzufügen, jeder hat ein Feld namens "date_created" das ist ein timestamp, Wann der Datensatz erstellt wird. Tun Sie dies durch die Tabellenansicht ist einfach, einfach den DefaultValue = jetzt(). Allerdings, wie würde ich dies in sql?

Dies ist mein Aktueller Versuch für Tabellen, die bereits über die Spalte. Dieses Beispiel verwendet "tblLogs".

ALTER TABLE tblLogs ALTER COLUMN date_created DEFAULT now()

Vielen Dank für Ihre Hilfe!

Update - Wäre es eine Möglichkeit dies in VBA?

Update 2 Getestet, alle Antworten und die folgenden durch onedaywhen ist die kürzeste und Genaueste

CurrentProject.Connection.Execute _
    "ALTER TABLE tblLogs ALTER date_created DATETIME DEFAULT NOW() NOT NULL;"
Now() ist eine dumme Funktion zu verwenden, wenn Sie möchten das DATUM. Was Sie wirklich wollen zu setzen, ist der Standardwert auf Datum().
Sie sagen: "DateTime...timestamp, Wann der Datensatz erstellt," für die die JETZT() Funktion am besten geeignet ist.
OK, es wäre genauer zu koordinieren, den Namen des Feldes und die Daten eingegeben, aber nennen es "dumm" ist unhöflich. Konstruktives feedback sollte nicht herablassend noch enthalten keine Beleidigungen.
Ob eine Spalte, die Namen mit einem Präfix, der date_ impliziert, dass die kleinste Körnchen werden eines Tages (in anderen Worten, keine Zeit-element), ist fraglich, z.B. ACE/Jet hat aber eine zeitliche Daten Typ DATETIME für die 'DATE' ist ein synonym. Sie müssten eine Einschränkung (oder Validierung-Regel), um sicherzustellen, DATETIME-Werte, die nicht die Zeit haben, die Elemente z.B. EINSCHRÄNKUNG Datum_erstellt__keine_Zeit_element ÜBERPRÜFEN(date_created = DATEADD ("D", DATEDIFF('D', #1990-01-01 00:00:00#, date_created), #1990-01-01 00:00:00#);

InformationsquelleAutor Kevin Lamb | 2009-06-09

Schreibe einen Kommentar