在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宏?
祝福,
答案 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"