2014-12-09 1 views
2

В MS Access мне требуется создать автоматически таблицы по требованию (около 100, возможно, больше).Укажите формат поля даты и времени через SQL в MS Access

SQL команду «Таблица CREATE» может справиться с этим хорошо, хотя мне нужно отформатировать дату/время, поле, через выражение как это:

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

Создаваемые Свойства таблицы полей выглядеть следующим образом:

Created Table

Но я не нашел способ, чтобы установить «формат» свойство поля, чтобы быть «гггг-мм-дд чч: пп: сс»:

Required Table

Есть ли способ указать это, используя выражение SQL, не используя макросы доступа MS?

С наилучшими пожеланиями,

ответ

4

DDL в Access является полезным, но довольно ограничен, и я не думаю, что вы можете определить формат полевого с ним.

Чтобы получить доступ ко всем свойствам на столе, вам придется опуститься до VBA, используя DAO:

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" 
+0

Спасибо за ваш ответ ... – hyprfrcb

Смежные вопросы