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

VBA+access2000有关问题,求能人帮忙,

2012-03-13 
VBA+access2000问题,求能人帮忙,急急急直接发代码Private Sub RegistButton_Click()Dim dbLocal As Databa

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提示好像说是 型不一致
有能人 可以帮忙解答一下么,万分感谢

[解决办法]
调试代码。
然后检查这两个值是什么。 值的类型不匹配。

热点排行