Piszę wiele skryptów, aby zaktualizować wiele tabel Access. Chciałbym dodać kolumnę do każdego, który ma pole o nazwie "date_created", które jest znacznikiem czasu, gdy tworzony jest rekord. Robiąc to poprzez widok tabeli jest prosty, wystarczy ustawić DefaultValue = now(). Jak jednak to zrobić w sql?Microsoft Access DateTime Domyślnie teraz za pośrednictwem SQL
To jest moja obecna próba tabel, które już mają kolumnę. W tym przykładzie użyto "tblLogs".
ALTER TABLE tblLogs ALTER COLUMN date_created DEFAULT now()
Dzięki za pomoc!
Aktualizacja - czy istnieje sposób, aby to zrobić w VBA?
Update 2 - Testowane wszystkie odpowiedzi i brzmienie onedaywhen jest najkrótsza i najbardziej dokładne
CurrentProject.Connection.Execute _
"ALTER TABLE tblLogs ALTER date_created DATETIME DEFAULT NOW() NOT NULL;"
Now() jest głupie funkcji użyć, jeśli chcesz DATA. To, czego naprawdę chcesz, to ustawić domyślną wartość Date(). –
Mówią "DateTime ... znacznik czasu, kiedy tworzony jest rekord", dla którego funkcja NOW() jest najbardziej odpowiednia. – onedaywhen
OK, dokładniejsze byłoby koordynowanie nazwy pola i wprowadzanych danych, ale nazywanie tego "głupim" jest niegrzeczne. Konstruktywna informacja zwrotna nie powinna być protekcjonalna ani zawierać żadnych obelg. – JeffO