标题: Object的使用问题。提示类型不匹配 [打印本页] 作者: yorkjun 时间: 2002-12-24 23:05 标题: Object的使用问题。提示类型不匹配 Set tbfTableDef = dbsDB.CreateTableDef(stgTblCasioContentTmp)
Set fldField = tbfTableDef.CreateField("Barcode", dbDouble)
tbfTableDef.Fields.Append fldField
Set fldField = tbfTableDef.CreateField("CurrentSP", dbDouble)
tbfTableDef.Fields.Append fldField
Set rst = dbsDB.OpenRecordset("TempCasioInput")
With rst
' Add new record to end of Recordset object.
.AddNew
!Barcode = Barcode
!CurrentSP = CurrentSP
End With
在以上两段代码中(从别处抄的),在引用菜单中选中DAO后,总是提示“类型不匹配”而无法继续。请问是什么原因。
[em04][em04][em04]作者: 大熊 时间: 2002-12-24 23:14
dim dbsDB as dao.database
set dbsdb=currentdb
补上试试。作者: yorkjun 时间: 2002-12-24 23:37
已经有了,刚刚忘了写。出错时主要问题在下面两句
Set fldField = tbfTableDef.CreateField("Barcode", dbDouble)
Set rst = dbsDB.OpenRecordset("TempCasioInput")作者: 大熊 时间: 2002-12-24 23:48
stgTblCasioContentTmp的值是什么?作者: yorkjun 时间: 2002-12-24 23:49
就是“TempCasioInput”作者: 大熊 时间: 2002-12-25 00:48
建立新表的DAO简例如下:你可参照一下(因你抄来的代码编的不是很顺畅)
Ps.建表用SQL更方便,也更快
Dim db As DAO.Database
Dim tbl As DAO.TableDef
Set db = CurrentDb
Set tbl = db.CreateTableDef("tblContact")
With tbl
.Fields.Append .CreateField("FirstName", dbText)
.Fields.Append .CreateField("LastName", dbText)
.Fields.Append .CreateField("hone", dbText)
.Fields.Append .CreateField("Notes", dbMemo)
End With
db.TableDefs.Append tbl作者: yorkjun 时间: 2002-12-25 23:13
上面的都没问题,也能建立新表,但是但我打开数据集,准备添加数据时出问题。
如果前面定义 Dim rst as RecordSet,在后面写
Set rst = db.openrecordset("tblContact")
with rst
.addnew
时,在“Set rst....."又出现Error 13 类型不匹配,如果是定义Dim rst as RecordSets,
Error 13没有了,但是在".addnew"处又有"编译错误,method or data member not found?"
实在小弟不懂,望指教。
附:开始有问题是没有引用DAO,这个是不是也要引用什么?加入SQL语句方法,也要引用吗?作者: accessxiao 时间: 2002-12-26 00:48
You may try this as below:
dim rst as dao.recordset作者: yorkjun 时间: 2002-12-26 01:59
在此多谢各位,问题已经解决了,我取消了引用中的“MicroSoft ActiveX Data Object Library" 和 另一个OLE的引用,就可以了,看来是ADO和DAO的问题。
原来的语句基本没有大问题。