Tôi đang viết một số tập lệnh để cập nhật nhiều bảng Access. Tôi muốn thêm một cột vào mỗi cột có một trường được gọi là "date_created", đó là dấu thời gian khi bản ghi được tạo. Làm điều này thông qua cách xem bảng đơn giản, chỉ cần đặt DefaultValue = now(). Tuy nhiên, làm thế nào tôi sẽ thực hiện điều này trong sql?Microsoft Access DateTime Mặc định Bây giờ qua SQL
Đây là nỗ lực hiện tại của tôi đối với các bảng đã có cột. Ví dụ này sử dụng "tblLogs".
ALTER TABLE tblLogs ALTER COLUMN date_created DEFAULT now()
Cảm ơn sự giúp đỡ của bạn!
Cập nhật - Có cách nào để thực hiện việc này trong VBA không?
Cập nhật 2 - Thử nghiệm tất cả các câu trả lời và sau bởi onedaywhen là ngắn nhất và chính xác nhất
CurrentProject.Connection.Execute _
"ALTER TABLE tblLogs ALTER date_created DATETIME DEFAULT NOW() NOT NULL;"
Now() là một hàm ngớ ngẩn để sử dụng nếu bạn muốn NGÀY. Những gì bạn thực sự muốn là đặt mặc định thành Date(). –
Họ nói "DateTime ... timestamp của khi bản ghi được tạo ra", trong đó hàm NOW() là thích hợp nhất. – onedaywhen
OK, sẽ chính xác hơn khi phối hợp tên của trường và dữ liệu được nhập, nhưng để gọi nó là "ngớ ngẩn" là thô lỗ. Phản hồi mang tính xây dựng không nên bị hạ thấp cũng không chứa bất kỳ lời lăng mạ nào. – JeffO