库存自动盘点问题

syskey000003 2004-11-11 11:59:43
我想通过一个按键来实际数据库内自动盘点的功能,功能很简单就是从现有的库存中减去同样产品的销售数量等一些字段,代码如下。
Private Sub Command1_Click()
sql = "select * from 库存表"
rs.CursorLocation = adUseClient
rs.Open sql, cn, adOpenKeyset, adLockPessimistic
If rs.RecordCount = 0 Then
MsgBox "当前库存数不存在!", vbOKOnly + vbExclamation, "注意"
rs.Close
Exit Sub
End If

rs.MoveFirst
For i = 1 To rs.RecordCount
sql = "select sum(片数),sum(面积) from 销售单 where 序号=" & rs.Fields(1)
gu.Open sql, cn, adOpenKeyset, adLockPessimistic
If gu.RecordCount > 0 Then
rs.Fields(3) = rs.Fields(3) - gu.Fields(0)
rs.Fields(4) = rs.Fields(4) - gu.Fields(1)
End If
rs.Update
gu.Close
rs.MoveNext
Next i
rs.Close
End Sub

我的后台数据库用的是access,结果运行后库存表内片数,面积字段全部为空。
同时我也用了其它的方法,来判断gu.fields(0)是否为空,如果为空库存表内字段不变,可依旧不行搞了两天了还不行,哪位老大知道的话帮忙看看。顺便把源代码帮忙改一下看看是不是哪里错了。
...全文
125 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abyss-Xu 2004-11-30
  • 打赏
  • 举报
回复
sql = "select sum(片数),sum(面积) from 销售单 where 序号=" & rs.Fields(1)
改成
sql = "select sum(片数),sum(面积) from 销售单 where 序号=" & rs(1)
Abyss-Xu 2004-11-30
  • 打赏
  • 举报
回复
rs(3) = rs(3) - gu.(0)
rs(4) = rs(4) - gu(1)
是这样
Abyss-Xu 2004-11-30
  • 打赏
  • 举报
回复
rs(3) = (3) - gu.(0)
rs(4) = (4) - gu(1)
去掉 .fields
gordon1979 2004-11-30
  • 打赏
  • 举报
回复
试试:先把gu记录集保存在相应变量中,然后判断是否为空来进行相应的操作。
我觉得每次销售后从库存中减去相应的数量比较好,因为你这个应该是单机版的,速度不会很慢,这样以后根本不用去处理这些问题。
minghui000 2004-11-30
  • 打赏
  • 举报
回复
up
syskey000003 2004-11-13
  • 打赏
  • 举报
回复
没人知道了吗,为什么在VB里面,一个数减掉一个空值之后也变成空值了呢,怎么做才能不变呢。
pweixing 2004-11-11
  • 打赏
  • 举报
回复
有那么麻烦吗?
如果"select * from 库存表"的结果不为空的话,直接一个sql语句不就解决了吗?为什么要搞循环呢?
update 库存表 set Fields(3)=Fields(3)-销售单.sum(片数),Fields(4)=Fields(4)-销售单.sum(面积) where 销售单.序号=库存表.Fields(0)

cosio 2004-11-11
  • 打赏
  • 举报
回复
首先确定sql里面有数据!
跟踪调 试 一 下!

rs.Fields(3) = rs.Fields(3) - gu.Fields(0)
rs.Fields(4) = rs.Fields(4) - gu.Fields(1)       //??????????????????
syskey000003 2004-11-11
  • 打赏
  • 举报
回复
楼上的,你的方法是很好,一个语句就可以了,可是在VB里面它不行呀。
库存表有五个字段,第一个是序号,第二三不重要,第四个是片数,第五是面积。
销售单里如果没有销售的话减掉后就会出现空值在VB里面不是原先的数。而且在FOR 循环里只能用IF END IF 条件判断条件,不可以用ELSE。
而且上面的话句,运行不了.

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧