J'écris un certain nombre de scripts pour mettre à jour de nombreuses tables d'accès. Je voudrais ajouter une colonne à chacun qui a un champ appelé "date_created" qui est un timestamp de quand l'enregistrement est créé. Faire cela à travers la vue de la table est simple, il suffit de définir DefaultValue = now(). Cependant, comment pourrais-je accomplir cela en SQL?Microsoft Access DateTime par défaut maintenant via SQL
Ceci est ma tentative actuelle pour les tables qui ont déjà la colonne. Cet exemple utilise "tblLogs".
ALTER TABLE tblLogs ALTER COLUMN date_created DEFAULT now()
Merci pour votre aide!
Mise à jour - Y aurait-il un moyen de le faire dans VBA?
Mise à jour 2 - Testée toutes les réponses et les suivantes par onedaywhen est la plus courte et la plus précise
CurrentProject.Connection.Execute _
"ALTER TABLE tblLogs ALTER date_created DATETIME DEFAULT NOW() NOT NULL;"
Now() est une fonction stupide d'utiliser si vous voulez RENDEZ-VOUS AMOUREUX. Ce que vous voulez vraiment, c'est définir la valeur par défaut à Date(). –
Ils indiquent "horodatage DateTime ... date de création de l'enregistrement", pour lequel la fonction NOW() est la plus appropriée. – onedaywhen
OK, il serait plus précis de coordonner le nom du champ et les données saisies, mais l'appeler "stupide" est impoli. La rétroaction constructive ne doit pas être condescendante ni contenir d'insultes. – JeffO