在执行到创建字段的第一句"Set myfie(1) = tdmyTable.CreateField("项目", dbText, 20)”就发生“类型不匹配”,我的源程序如下Dim i As Integer, j As Integer
Dim tdmyTable As TableDef
Dim dbDatabase As Database
Dim rsx As Recordset
Dim myfie(1 To 8) As FieldSet dbDatabase = CreateDatabase(App.Path & "\databases\" & mydate & ".mdb", dbLangGeneral, dbEncrypt)For i = 1 To 32
Set tdmyTable = dbDatabase.CreateTableDef(mysort(i))
Set myfie(1) = tdmyTable.CreateField("项目", dbText, 20)
Set myfie(2) = tdmyTable.CreateField("合计", dbLong)
set myfie(3)=...........请问我错在哪?我该怎样改?
Dim tdmyTable As TableDef
Dim dbDatabase As Database
Dim rsx As Recordset
Dim myfie(1 To 8) As FieldSet dbDatabase = CreateDatabase(App.Path & "\databases\" & mydate & ".mdb", dbLangGeneral, dbEncrypt)For i = 1 To 32
Set tdmyTable = dbDatabase.CreateTableDef(mysort(i))
Set myfie(1) = tdmyTable.CreateField("项目", dbText, 20)
Set myfie(2) = tdmyTable.CreateField("合计", dbLong)
set myfie(3)=...........请问我错在哪?我该怎样改?
Dim PathName As String
PathName = App.PathDim MyTable As TableDef, MyField As Field
Dim MyDatabase As Database
Set MyDatabase = CreateDatabase(PathName + "\Favorite.mdb", dbLangGeneral)
Set MyTable = MyDatabase.CreateTableDef("Subclass")
Set MyField = MyTable.CreateField("Name", dbText, 50)
MyTable.Fields.Append MyField
MyDatabase.TableDefs.Append MyTable
Set MyTable = MyDatabase.CreateTableDef("AllRecords")
Set MyField = MyTable.CreateField("Name", dbText, 50)
MyTable.Fields.Append MyField
Set MyField = MyTable.CreateField("Source", dbText, 50)
MyTable.Fields.Append MyField
MyDatabase.TableDefs.Append MyTableEnd Sub
创建一个工作区看看
Dim wrk as Workspace
set wrk =DbEngine.Workspace(0)
Set dbDatabase = wrk.CreateDatabase(App.Path & "\databases\" & mydate & ".mdb", dbLangGeneral, dbEncrypt)
创建一个工作区还是不行,还是在CreateField那里出错了.
createfield是不是不能支持field是用数组建的,还是别的呢?
Set myfie(1) = tdmyTable.CreateField("项目", dbText, 20)
你能不能将你的代码全部贴出来!
Set tdmyTable = dbDatabase.CreateTableDef(mysort(i))
这个有问题导致后面的问题
Dim tdmyTable As TableDef
Dim dbDatabase As Database
Dim rsx As Recordset
Dim proj As Field
Dim totl As Field
set value1 as field
set value2 as field
set value3 as filed
Dim mymessitem(1 To 5) As String
Dim myitems(1 To 20) As String
Dim mysort(1 To 32) As Stringmysort(1) = "下属公司1"
mysort(2) = "下属公司2"
mysort(3) = "下属公司3"
。
一共定义了30个下属公司Set dbDatabase = CreateDatabase(App.Path & "\databases\" & mydate & ".mdb", dbLangGeneral, dbEncrypt)For i = 1 To 32
Set tdmyTable = dbDatabase.CreateTableDef(mysort(i))
Set proj = tdmyTable.CreateField("项目", dbText, 20)
Set totl = tdmyTable.CreateField("合计", dbLong)
set value1=tdmyTable.CreateField("数值1", dbLong)
set value2=tdmyTable.CreateField("数值2", dbLong)
set value3=tdmyTable.CreateField("数值3", dbLong)
tdmyTable.Fields.Append proj
tdmyTable.Fields.Append totl
tdmyTable.Fields.Append value1
tdmyTable.Fields.Append value2
tdmyTable.Fields.Append value3 dbDatabase.TableDefs.Append tdmyTable
Set rsx = dbDatabase(mysort(i))
For j = 1 To 20
rsx.AddNew rsx!项目 = myitems(j)
Next j
Next idbDatabase.Close
End Sub
Set tdmyTable = dbDatabase.CreateTableDef(mysort(i))
这句是不能改了,我有32个下属公司,如果一个一个的CeatetalbleDef,累死我了,只好这样了。我究竟哪错了?
并把mysort(i)改为"下属公司1",结果还是在在Set proj = tdmyTable.CreateField("项目", dbText, 20)出错,说“类型不匹配”
这是干麻?
谢谢ch21st(风尘鸟) !!!!!!!!!!ch21st(风尘鸟) 快到这里,我要给分了
Sub CreateFieldX() Dim dbsNorthwind As Database
Dim tdfNew As TableDef
Dim fldLoop As Field
Dim prpLoop As Property Set dbsNorthwind = OpenDatabase("Northwind.mdb") Set tdfNew = dbsNorthwind.CreateTableDef("NewTableDef") With tdfNew
.Fields.Append .CreateField("TextField", dbText)
.Fields.Append .CreateField("IntegerField", dbInteger)
.Fields.Append .CreateField("DateField", dbDate)
End With dbsNorthwind.TableDefs.Append tdfNew
不要用你的字段数组了