VBA+access2000问题,求能人帮忙,急急急
直接发代码
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
SQLSTR = "UPDATE TPR120 SET "
SQLSTR = SQLSTR & "UPD=getdate()"
SQLSTR = SQLSTR & " ,CID=" & CL_ID
SQLSTR = SQLSTR & " ,OID=" & OP_ID
SQLSTR = SQLSTR & " ,RYO_SU = " & NullToZero(RecSet1("RYO_SU"))
SQLSTR = SQLSTR & " ,FURYO_SU = " & NullToZero(RecSet1("FURYO_SU"))
SQLSTR = SQLSTR & " ,KADOU = " & Str(((Hour(RecSet1("KADOU")) * 60) + Minute(RecSet1("KADOU"))))
SQLSTR = SQLSTR & " ,IRO_KAE = " & Str(((Hour(RecSet1("IRO_KAE")) * 60) + Minute(RecSet1("IRO_KAE"))))
SQLSTR = SQLSTR & " ,JYOUKEN = " & Str(((Hour(RecSet1("JYOUKEN")) * 60) + Minute(RecSet1("JYOUKEN"))))
SQLSTR = SQLSTR & " ,TEST = " & Str(((Hour(RecSet1("TEST")) * 60) + Minute(RecSet1("TEST"))))
SQLSTR = SQLSTR & " ,KOSYO = " & Str(((Hour(RecSet1("KOSYO")) * 60) + Minute(RecSet1("KOSYO"))))
SQLSTR = SQLSTR & " ,KEKKIN = " & Str(((Hour(RecSet1("KEKKIN")) * 60) + Minute(RecSet1("KEKKIN"))))
SQLSTR = SQLSTR & " ,GEN_MATI = " & Str(((Hour(RecSet1("GEN_MATI")) * 60) + Minute(RecSet1("GEN_MATI"))))
SQLSTR = SQLSTR & " ,SIZAI_MATI = " & Str(((Hour(RecSet1("SIZAI_MATI")) * 60) + Minute(RecSet1("SIZAI_MATI"))))
SQLSTR = SQLSTR & " ,STOP = " & Str(((Hour(RecSet1("STOP")) * 60) + Minute(RecSet1("STOP"))))
SQLSTR = SQLSTR & " ,HIRU_STOP = " & Str(((Hour(RecSet1("HIRU_STOP")) * 60) + Minute(RecSet1("HIRU_STOP"))))
SQLSTR = SQLSTR & " ,NINKU = " & Str(RecSet1("NINKU") * 100)
SQLSTR = SQLSTR & " ,SET_CYCLE = " & NullToZero(RecSet1("SET_CYCLE")) * 10
SQLSTR = SQLSTR & " ,TONYU_GEN = " & RecSet1("TONYU_GEN")
SQLSTR = SQLSTR & " ,ZAN_GEN = " & RecSet1("ZAN_GEN")
SQLSTR = SQLSTR & " ,TANTO_CD = " & RecSet1("TANTO_CD")
SQLSTR = SQLSTR & " ,SYANAI_KBN = " & RecSet1("SYANAI_KBN") 'Upd 99.01.28
SQLSTR = SQLSTR & " WHERE SEI_SJ_NO = " & Str(RecSet1("SEI_SJ_NO"))
SQLSTR = SQLSTR & " AND ITEM_CD = " & Str(RecSet1("ITEM_CD"))
RET = ExecuteSQL2(SQLSTR, ConnectTPR120, False)
If RET <> 0 Then
MsgBox "指示板号:" & RecSet1("SEI_SJ_NO") & "の実績データの更新が失敗しました。"
End If
Else
MsgBox "他のユーザーから実績が変更されていたため、実績情報の更新ができませんでした。", 16, FPR100_MSG_TITLE
End If
RetRec.Close
End Select
RecSet1.MoveNext
Loop
RecSet1.Close
其中运行到 If RetRec(0) = RecSet1("UPD_CNT") Then 这步报错,错误号 ‘13’ bug提示好像说是 型不一致
有能人 可以帮忙解答一下么,万分感谢
[解决办法]
调试代码。
然后检查这两个值是什么。 值的类型不匹配。