首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

access 2000 VBA 运行异常“13”,类型不匹配?

2012-12-15 
access 2000 VBA运行错误“13”,类型不匹配??本帖最后由 xty353535 于 2012-01-31 10:21:33 编辑private Sub

access 2000 VBA 运行错误“13”,类型不匹配??
本帖最后由 xty353535 于 2012-01-31 10:21:33 编辑 private Sub RegistButton_Click()
    Dim dbLocal As Database
    Dim QryDef1 As QueryDef
    Dim RecSet1 As Recordset, RecSetW As Recordset
    Dim SQLSTR As String
    Dim RET As Integer

    Me.Refresh                                              '不定状態のレコード確定
    
    RET = SetConnectString()
    Me![CID] = CL_ID
    Me![OID] = OP_ID
    
    Set dbLocal = DBEngine.Workspaces(0).Databases(0)       '????DB????????
    Set QryDef1 = dbLocal.CreateQueryDef("")                '一時的な????を作成


'-----------------------------------------------------------
'修正レコードの更新

    DoCmd.Hourglass True
    
    Set QryDef1 = dbLocal.CreateQueryDef("", "SELECT [TPR120_@@].* FROM [TPR120_@@] WHERE (([TPR120_@@].H_FLG=2));")
    Set RecSet1 = QryDef1.OpenRecordset()
    QryDef1.Close

    Do While Not RecSet1.EOF
        SQLSTR = "SELECT UPD_CNT FROM TPR120"
        SQLSTR = SQLSTR + " WHERE SEI_SJ_NO = " + Str(RecSet1("SEI_SJ_NO"))
        SQLSTR = SQLSTR + " AND ITEM_CD = " + Str(RecSet1("ITEM_CD"))
        RET = ExecuteSQL2(SQLSTR, ConnectTPR120, True)
        Select Case RET
        Case Is < 0
            MsgBox "成形実績登録中にエラーが発生しました。", 16, FPR100_MSG_TITLE
        Case Is = 0
            MsgBox "他のユーザーからデータが削除されたため、実績情報の更新ができませんでした。", 16, FPR100_MSG_TITLE
        Case Is > 0
            If RetRec(0) = RecSet1("UPD_CNT") Then

运行到最后一步的时候,提示错误 13  求高手解答
是数据库里面的一个时间字段,这个程序是access2.0升级到2000的,
好像是这个UPD_CNT 字段原先是16位 ,现在变成32位,所以报错,
求高手帮忙修改
[最优解释]
If RetRec(0) = (RecSet1("UPD_CNT") & "") Then

是什么数据类型?加val或其他数据类型转换看看

[其他解释]
可能数据类型不匹配,看这两个数据是什么

debug.print RetRec(0) 
debug.print RecSet1("UPD_CNT") 
看看
------其他解决方案--------------------


怎么加val或其他数据类型转换啊  我是新手,求详细点指点,谢谢了

引用:
If RetRec(0) = (RecSet1("UPD_CNT") &amp; "") Then

是什么数据类型?加val或其他数据类型转换看看

[其他解释]
引用:
If RetRec(0) = (RecSet1("UPD_CNT") &amp; "") Then

是什么数据类型?加val或其他数据类型转换看看
 UPD_CNT 在数据库里是 0x00000000001DBC1D  这个
这是时间数据类型吧?
[其他解释]
0x00000000001DBC1D应该是十六进制串,这个字段应该是文本型的。
[其他解释]
那应该怎么改啊,我从access2.0升到到了2000,好像16位得变成32位的,可是不知道怎么改
引用:
0x00000000001DBC1D应该是十六进制串,这个字段应该是文本型的。

热点排行