access2003 vba编程,要修改数据,觉得代码没错,可是一直有“运行错误‘13’”类型不匹配的错误 15
PrivateSubCommand_update_kucun_Click()'修改库存DimcurdbAsDatabaseDimcurrsAsRecordsetDimde...
Private Sub Command_update_kucun_Click()
'修改库存
Dim curdb As Database
Dim currs As Recordset
Dim devicecnt As Integer
Set curdb = CurrentDb
Set currs = curdb.OpenRecordset("select * from 库存表 where 商品编号= '" & 商品编号.Value & "'")
If Not currs.EOF Then
devicecnt = currs.Fields("库存量")
devicecnt = devicecnt + CInt(进库商品数量.Value)
curdb.Execute "update 库存表 set 库存量=" & devicecnt & "where 商品编号='" & 商品编号.Value & "'"
Else
With currs
.AddNew
.Fields("商品编号") = 商品编号.Value
.Fields("库存量") = CInt(库存量.Value)
.Fields("存放地点") = "昆山"
.Update
End With
End If
cmdadd.enable = True
cmdadd.SetFocus
cmdmod.enable = False
End Sub
就是这句Set currs = curdb.OpenRecordset("select * from 库存表 where 商品编号= '" & 商品编号.Value & "'")
觉得没错,,这段代码是要把库存量加上进 库数量,可是这句代码一直显示黄色底色,说运行错误‘13’”类型不匹配
商品编号是文本 展开
'修改库存
Dim curdb As Database
Dim currs As Recordset
Dim devicecnt As Integer
Set curdb = CurrentDb
Set currs = curdb.OpenRecordset("select * from 库存表 where 商品编号= '" & 商品编号.Value & "'")
If Not currs.EOF Then
devicecnt = currs.Fields("库存量")
devicecnt = devicecnt + CInt(进库商品数量.Value)
curdb.Execute "update 库存表 set 库存量=" & devicecnt & "where 商品编号='" & 商品编号.Value & "'"
Else
With currs
.AddNew
.Fields("商品编号") = 商品编号.Value
.Fields("库存量") = CInt(库存量.Value)
.Fields("存放地点") = "昆山"
.Update
End With
End If
cmdadd.enable = True
cmdadd.SetFocus
cmdmod.enable = False
End Sub
就是这句Set currs = curdb.OpenRecordset("select * from 库存表 where 商品编号= '" & 商品编号.Value & "'")
觉得没错,,这段代码是要把库存量加上进 库数量,可是这句代码一直显示黄色底色,说运行错误‘13’”类型不匹配
商品编号是文本 展开
2个回答
展开全部
你的"商品编号"字段是不是数字型的?是的话可能要改为:
Set currs = curdb.OpenRecordset("select * from 库存表 where 商品编号= " & 商品编号.Value & "")
把单引号去掉应该可以,因为单引号里面引用数字的话好像成了文本,以前也碰到过这个问题,具体情况不是很记得了!
Set currs = curdb.OpenRecordset("select * from 库存表 where 商品编号= " & 商品编号.Value & "")
把单引号去掉应该可以,因为单引号里面引用数字的话好像成了文本,以前也碰到过这个问题,具体情况不是很记得了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询