Office中国论坛/Access中国论坛

标题: 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的问题。
原来的语句基本没有大问题。

以后多交流。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3