请教一个Access中日期的问题。
背景介绍:表格ImportDataTable可能会经常导入一些数据(数据会发生变化)。为了区分,在ImportDataTable加入一个ImportDate字段,用于存放导入记录的日期时间,期望的格式是#2010-1-1 0:00:00#这种。
Office 2010自带的数据库(Access2007),在VBA中调用SQL
1、新加字段的命令如下,我想问一下,这儿的日期格式是怎么指定的呢?
SQL = " ALTER TABLE ImportDataTable ADD ImportDate "
DoCmd.RunSQL SQL
2、当手动导入CSV到ACCESS中,想把导入的时间加加进去,有什么思路吗?
我尝试了
SQL = " UPDATE ImportDataTable set ImportDate = now WHERE ImportDate='' "
DoCmd.RunSQL SQL
和
SQL = " UPDATE ImportDataTable set ImportDate = now WHERE ImportDate=NULL "
DoCmd.RunSQL SQL
都未能把时间改过来。
用ALTER创建的DATE默认的日期是什么格式,什么时候,是否可以在创建的时候default指定为#2010-1-1 0:00:00#
如果有好的思路,也欢迎提供!
谢谢大侠的点拨,加入日期的功能暂时可以实现了。
我想继续追问一下:
1、如果设定创建时候的默认日期为2010年1月1日 0:00:01,怎么实现?
2、如果需要短型日期应该怎么实现,如只需指定为#2010-1-1#?
再次谢谢!
1、ALTER TABLE importdataTable ADD importDate dateTime not null default '2010年1月1日 0:00:01' 这是SQL中的添加默认值,Access中好像不支持代码增加默认值,你只能在数据库表格”设计“中字段的属性窗口中直接设置了。
2、短型日期需要将日期格式化:SQL中的格式化函数为Convert(char(10),importDate,120).关于这个函数你可以自己查一下,单独学习。120代表的格式是:2015-01-29
在Access中的格式转换是这们的:format(importDate,"yyyy-mm-dd")
最后建议你以后用SQL吧,使用的范围更广!
谢谢你的耐心答复讲解,先采纳为标准答案了。
你后续补充回答的几个点,我都有了解过。
关于平台,这边暂时会用Access数据库。另外,如果自己想了解一点SQL的知识,有什么推荐的吗?(网上介绍得比较多的是 mysql 5.10的,想听听你的建议)
mysql5.1这个我没有用过,这种小型的数据库也有其方便之处,一般安卓系统使用的数据库都是这个。SQL使用起来也不难,看个人偏好吧。学习SQL其实基本的语句语法都差不多,可以在网上找一些视频、教程资料,想深入系统地学习还是买本书看看吧。
先给你传两个教程看一下。