Option Compare Text
Private catMake As ADOX.Catalog
Private tblMake As ADOX.Table
Public Function createDb(Optional Jetv3xNot4 As Boolean = True) As Boolean
On Error GoTo Err_Hand
Dim sPath As String
createDb = False
sPath = "path\dbName.mdb"
dbConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sPath
If Jetv3xNot4 Then
dbConnStr = dbConnStr & ";Jet OLEDB:Engine Type=4"
End If
Set catMake = New ADOX.Catalog
catMake.Create dbConnStr
If MadetblList = False Then
GoTo CleanUp
End If
createDb = True
CleanUp:
Set catMake = Nothing
Exit Function
Err_Hand:
MsgBox Err.Number & vbCrLf & Err.Description & vbCrLf & "Source: MadeNewADOJetDB"
Err.Clear
GoTo CleanUp
End Function
Private Function MadetblList() As Boolean
On Error GoTo Err_Hand
Dim colMake As Column
Dim idxMake As Index
Set tblMake = New Table
With tblMake
.name = "tblList"
.ParentCatalog = catMake
Set colMake = New Column
colMake.name = "Email"
colMake.Type = adVarWChar
.Columns.Append colMake
colMake.DefinedSize = 255
colMake.Properties("Autoincrement") = False
colMake.Properties("Nullable") = True
colMake.Properties("Fixed Length") = False
colMake.Properties("Jet OLEDB:IISAM Not Last Column") = False
colMake.Properties("Jet OLEDB:AutoGenerate") = False
colMake.Properties("Jet OLEDB:One BLOB per Page") = False
colMake.Properties("Jet OLEDB:Compressed UNICODE Strings") = True
colMake.Properties("Jet OLEDB:Allow Zero Length") = True
colMake.Properties("Jet OLEDB:Hyperlink") = False
Set colMake = New Column
colMake.name = "allowDeny"
colMake.Type = adVarWChar
.Columns.Append colMake
colMake.DefinedSize = 25
colMake.Properties("Autoincrement") = False
colMake.Properties("Nullable") = False
colMake.Properties("Fixed Length") = False
colMake.Properties("Jet OLEDB:IISAM Not Last Column") = False
colMake.Properties("Jet OLEDB:AutoGenerate") = False
colMake.Properties("Jet OLEDB:One BLOB per Page") = False
colMake.Properties("Jet OLEDB:Compressed UNICODE Strings") = True
colMake.Properties("Jet OLEDB:Allow Zero Length") = True
colMake.Properties("Jet OLEDB:Hyperlink") = False
Set colMake = New Column
colMake.name = "ID"
colMake.Type = adInteger
.Columns.Append colMake
colMake.DefinedSize = 10
colMake.Precision = 10
colMake.Properties("Autoincrement") = True
colMake.Properties("Nullable") = True
colMake.Properties("Fixed Length") = True
colMake.Properties("Jet OLEDB:IISAM Not Last Column") = False
colMake.Properties("Jet OLEDB:AutoGenerate") = False
colMake.Properties("Jet OLEDB:One BLOB per Page") = False
colMake.Properties("Jet OLEDB:Compressed UNICODE Strings") = False
colMake.Properties("Jet OLEDB:Allow Zero Length") = False
colMake.Properties("Jet OLEDB:Hyperlink") = False
Set idxMake = New Index
idxMake.name = "PrimaryKey"
idxMake.Clustered = False
idxMake.IndexNulls = adIndexNullsDisallow
idxMake.PrimaryKey = True
idxMake.Unique = True
Set colMake = New Column
colMake.name = "ID"
colMake.SortOrder = adSortAscending
idxMake.Columns.Append colMake
tblMake.Indexes.Append idxMake
Set idxMake = New Index
idxMake.name = "UniqueStr"
idxMake.Clustered = False
idxMake.IndexNulls = adIndexNullsDisallow
idxMake.PrimaryKey = False
idxMake.Unique = True
Set colMake = New Column
colMake.name = "Email"
colMake.SortOrder = adSortAscending
idxMake.Columns.Append colMake
tblMake.Indexes.Append idxMake
End With
catMake.Tables.Append tblMake
Set tblMake = Nothing
Set idxMake = Nothing
Set colMake = Nothing
MadetblList = True
Exit Function
Err_Hand:
Set tblMake = Nothing
Set idxMake = Nothing
Set colMake = Nothing
MsgBox Err.Number & vbCr & Err.Description & vbCr & "MadetblList"
Err.Clear
End Function