Sub CreateTable()
Dim myDb As Database
Dim myTb As TableDef
Dim myF As Field
Dim myP As Property
Set myDb = CurrentDb
Set myTb = myDb.CreateTableDef("Employees")
With myTb
.Fields.Append .CreateField("ID", dbLong)
.Fields.Append .CreateField("Name", dbText, 25)
End With
myDb.TableDefs.Append myTb
myDb.TableDefs.Refresh
Set myF = myTb.Fields("ID")
With myF
Set myP = .CreateProperty("Description", dbText, "This is Employee ID")
.Properties.Append myP
End With
Set myF = myTb.Fields("Name")
With myF
Set myP = .CreateProperty("Description", dbText, "This is Employee Name")
.Properties.Append myP
End With
End Sub
Sub MyCode()
SetAccessProperty fld, "Description", 10, "This is my Description"
SetAccessProperty fld, "Caption", 10, "This is my Caption"
End Sub
Function SetAccessProperty(obj As Object, _
strName As String, intType As Integer, _
varSetting As Variant) As Boolean
Dim prp As DAO.Property
Const conPropNotFound As Integer = 3270
On Error GoTo ErrorSetAccessProperty
obj.Properties(strName) = varSetting
obj.Properties.Refresh
SetAccessProperty = True
ExitSetAccessProperty:
Exit Function
ErrorSetAccessProperty:
If Err = conPropNotFound Then
Set prp = obj.CreateProperty(strName, 10, varSetting)
obj.Properties.Append prp
obj.Properties.Refresh
SetAccessProperty = True
Resume ExitSetAccessProperty
Else
MsgBox Err & ": " & vbCrLf & Err.Description
SetAccessProperty = False
Resume ExitSetAccessProperty
End If
End Function