vb + sql 两个表的叠加

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:19:50
用VB + SQL做超市管理系统
在做收银台界面时

数据库里有2张表
表goodstemp(目前顾客购买的商品列表)
:
goodsno(商品编号)
goodsnum(购买数量)
goodsname(商品名)

表xiaoshou(以前累计的销售列表)
goodsno(商品编号)
goodsnum(购买数量)
goodsname(商品名)

目前的顾客正在购买的商品会先记入goodstemp表中,当顾客确认付款时,会将这个表中的数据加入到xiaoshou表中

首先判断goodstemp中的商品是否以前销售过,如果销售过,则在xiaoshou表中的相应位置的goodsnum加上goodstemp中的goodsnum(数量)
如果商品未销售过 刚直接奖 goodstemp中的数据写入到 xiaoshou表中

代码如下:

Private Sub cmdnext_Click()

goodstemp.RecordSource = "select * from goodstemp"
goodstemp.Refresh

xiaoshou.RecordSource = "select * from xiaoshou where goodsno='" & goodstemp.Recordset.Fields("goodsno") & "'"
xiaoshou.Refresh
Do Until goodstemp.Recordset.EOF = True
'判断商品是否销售过
If xiaoshou.Recordset.EOF = True Then
'商品没销售过
xiaoshou.Recordset.AddNew
xiaoshou.Recordset.Fields("goodsno")

原因xiaoshou.RecordSource = "select * from xiaoshou where goodsno='" & goodstemp.Recordset.Fields("goodsno") & "'"
xiaoshou.Refresh
没有放到Do Until goodstemp.Recordset.EOF = True 内部

xiaoshou.Recordset.Fields("goodsnum") = xiaoshou.Recordset.Fields("goodsnum") + goodstemp.Recordset.Fields("goodsnum")
没有指明是哪种good,所以就只加到第一种good中!

是不是你定义的东西相同了