In MS Access, I am requiring to create automatically tables on demand (about 100 maybe more).
SQL 'CREATE TABLE' command can handle this well, though I need to format a Date/Time Field, through an expression like this:
CREATE TABLE myTable (ID INTEGER, T DATETIME CONSTRAINT CT PRIMARY KEY, X DOUBLE, S CHAR)
The created table Field Properties look like this:
But i've not found a way to set the "Format" field property, to be "yyyy-mm-dd hh:nn:ss":
Is there a way to specify this, through an SQL Expression, not using MS Access Macros?
Best wishes,
The DDL in Access is useful but pretty limited and I don't think you can define a field's format with it.
To access all of the properties on a table, you'll need to drop down to VBA, using 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
It's just to show you how it works, you should probably add some error checking as it will throw errors if you try to access a field that doesn't support the Format
property.
To use it:
UpdateFormat "PO", "RateDate", "dd mmm yyyy"