softweng
April 12th, 2001, 11:27 AM
I am trying to create a database through my code. The CreateDatabase works fine.
But when I try to create the first field - Set fields(0) = table.CreateField ("ID", dbLong)
I get a "Type Mismatch Error", I cannot figure out why this is happening.
I have posted my code below, please look at it and tell what is wrong. Thanks!!!
private Sub cmdCreateDB_Click()
Dim db as Database
Dim table as TableDef
Dim idx as Index
Dim fields(10) as Field
Dim fieldidx as Field
Dim path as string
Dim i as Integer
on error GoTo ErrHandler
'//Ask User for Path And Name Of Database
path = InputBox("Enter The Path And Name Of The Database to Create.", "Create Database")
'//Create Database
set db = CreateDatabase(path, dbLangGeneral, dbEncrypt)
'//Create Table In Database
set table = db.CreateTableDef("Inspection")
'//Create Fields In Table
'//Primary Key
set fields(0) = table.CreateField("ID", dbLong)
fields(0).Attributes = fields(0).Attributes + dbAutoIncrField
set idx = table.CreateIndex("PrimaryKey")
set fieldidx = idx.CreateField("ID", dbLong)
idx.fields.Append fieldidx
idx.Primary = true
'//Data Fields
set fields(1) = table.CreateField("Data1", dbText, 255)
set fields(2) = table.CreateField("Data2", dbText, 255)
set fields(3) = table.CreateField("Data3", dbText, 255)
set fields(4) = table.CreateField("Data4", dbText, 255)
set fields(5) = table.CreateField("Data5", dbText, 255)
set fields(6) = table.CreateField("Data6", dbText, 255)
set fields(7) = table.CreateField("Data7", dbText, 255)
set fields(8) = table.CreateField("Data8", dbText, 255)
'//Inspection Status
set fields(9) = table.CreateField("InspStatus", dbText, 50)
'//date
set fields(10) = table.CreateField("date", dbDate)
'//Append Field Objects to Table
i = 0
for i = 0 to 10
table.fields.Append fields(i)
next i
'//Save Table Def
db.TableDefs.Append table
db.TableDefs.Refresh
Exit Sub
ErrHandler:
ProcessError ("frmAccess.cmdCreateDB_Click")
End Sub
But when I try to create the first field - Set fields(0) = table.CreateField ("ID", dbLong)
I get a "Type Mismatch Error", I cannot figure out why this is happening.
I have posted my code below, please look at it and tell what is wrong. Thanks!!!
private Sub cmdCreateDB_Click()
Dim db as Database
Dim table as TableDef
Dim idx as Index
Dim fields(10) as Field
Dim fieldidx as Field
Dim path as string
Dim i as Integer
on error GoTo ErrHandler
'//Ask User for Path And Name Of Database
path = InputBox("Enter The Path And Name Of The Database to Create.", "Create Database")
'//Create Database
set db = CreateDatabase(path, dbLangGeneral, dbEncrypt)
'//Create Table In Database
set table = db.CreateTableDef("Inspection")
'//Create Fields In Table
'//Primary Key
set fields(0) = table.CreateField("ID", dbLong)
fields(0).Attributes = fields(0).Attributes + dbAutoIncrField
set idx = table.CreateIndex("PrimaryKey")
set fieldidx = idx.CreateField("ID", dbLong)
idx.fields.Append fieldidx
idx.Primary = true
'//Data Fields
set fields(1) = table.CreateField("Data1", dbText, 255)
set fields(2) = table.CreateField("Data2", dbText, 255)
set fields(3) = table.CreateField("Data3", dbText, 255)
set fields(4) = table.CreateField("Data4", dbText, 255)
set fields(5) = table.CreateField("Data5", dbText, 255)
set fields(6) = table.CreateField("Data6", dbText, 255)
set fields(7) = table.CreateField("Data7", dbText, 255)
set fields(8) = table.CreateField("Data8", dbText, 255)
'//Inspection Status
set fields(9) = table.CreateField("InspStatus", dbText, 50)
'//date
set fields(10) = table.CreateField("date", dbDate)
'//Append Field Objects to Table
i = 0
for i = 0 to 10
table.fields.Append fields(i)
next i
'//Save Table Def
db.TableDefs.Append table
db.TableDefs.Refresh
Exit Sub
ErrHandler:
ProcessError ("frmAccess.cmdCreateDB_Click")
End Sub