Option Explicit
Private Sub CreateAccessDatabase(sDatabaseToCreate)
Dim catNewDB As ADOX.Catalog
Set catNewDB = New ADOX.Catalog
catNewDB.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & sDatabaseToCreate & ";Jet OLEDB:Engine Type=5;"
Set catNewDB = Nothing
End Sub
Private Sub CreateAccessTable(sDatabaseToCreate)
Dim catDB As ADOX.Catalog
Dim tblNew As ADOX.Table
Set catDB = New ADOX.Catalog
catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & sDatabaseToCreate
Set tblNew = New ADOX.Table
tblNew.Name = "Contacts"
Dim col As ADOX.Column
Set col = New ADOX.Column
With col
.ParentCatalog = catDB
.Type = adInteger
.Name = "ID"
.Properties("Autoincrement") = True
.Properties("Description") = "I am the Description " & _
"for the column"
End With
tblNew.Columns.Append col
With tblNew
With .Columns
.Append "NumberColumn", adInteger
.Append "FirstName", adVarWChar
.Append "LastName", adVarWChar
.Append "Phone", adVarWChar
.Append "Notes", adLongVarWChar
End With
Dim adColNullable
adColNullable = 2
With .Columns("FirstName")
.Attributes = adColNullable
End With
End With
catDB.Tables.Append tblNew
Set col = Nothing
Set tblNew = Nothing
Set catDB = Nothing
End Sub
Private Sub Form_Load()
Dim sDatabaseName As String
sDatabaseName = "C:\MyNewDatabase.mdb"
CreateAccessDatabase sDatabaseName
CreateAccessTable sDatabaseName
MsgBox "Database has been created successfully!"
End Sub