读书人

access 2000 VBA 运行异常“13”类

发布时间: 2012-12-15 15:16:03 作者: rapoo

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") & "") Then

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

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

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

读书人网 >VB

热点推荐