【问题标题】:Specify Date/Time Field Format through SQL in MS Access在 MS Access 中通过 SQL 指定日期/时间字段格式
【发布时间】:2015-02-07 08:02:10
【问题描述】:

在 MS Access 中,我需要根据需要自动创建表(大约 100 个可能更多)。

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

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

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

但我还没有找到将“格式”字段属性设置为“yyyy-mm-dd hh:nn:ss”的方法:

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

祝你好运,

【问题讨论】:

    标签: sql datetime ms-access create-table


    【解决方案1】:

    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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多