在MS Access中通过SQL指定日期/时间字段格式

时间:2014-12-09 12:17:22

标签: sql datetime ms-access create-table

在MS Access中,我要求按需自动创建表(大约100个或更多)。

SQL'CREATE TABLE'命令可以很好地处理这个问题,虽然我需要通过这样的表达式格式化日期/时间字段:

CREATE TABLE myTable (ID INTEGER, T DATETIME CONSTRAINT CT PRIMARY KEY, X DOUBLE, S CHAR)

创建的表字段属性如下所示:

Created Table

但我找不到设置“格式”字段属性的方法,即“yyyy-mm-dd hh:nn:ss”:

Required Table

有没有办法通过SQL表达式指定这个,而不是使用MS Access宏?

祝福,

1 个答案:

答案 0 :(得分:4)

Access中的DDL很有用,但非常有限,我认为你不能用它定义一个字段的格式。

要访问桌面上的所有属性,您需要使用DAO下拉到VBA:

Public Sub UpdateFormat(tableName As String, fieldName As String, format As String)
    Dim db As DAO.Database
    Dim tb As DAO.TableDef
    Dim fd As DAO.Field

    Set db = CurrentDb()
    Set tb = db.TableDefs(tableName)
    Set fd = tb.Fields(fieldName)
    fd.Properties("Format").Value = format
End Sub

只是为了告诉你它是如何工作的,你应该添加一些错误检查,因为如果你试图访问一个不支持Format属性的字段,它会抛出错误。

使用它:

 UpdateFormat "PO", "RateDate", "dd mmm yyyy"