以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]明白人帮指导一下 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25957) |
||||
-- 作者:eboe -- 发布时间:2012/11/20 18:16:00 -- [求助]明白人帮指导一下 思路是,入库表,入库汇总,实时库存三个表,入库表对入库汇总和实时库存进行数据写入操作,以货号为标准,当入库汇总和实时库存有相同货号的,就在原基础上累计,没有的,就新起一行,进行记录。附件附上,现在的问题是,操作已有的货号总会出现累计上面算错,比如货号A连进10次数量为10,在入库汇总里并没进100个,找不到原因在哪,明白人帮忙看一下。谢谢
|
||||
-- 作者:mr725 -- 发布时间:2012/11/20 19:08:00 -- 入库表对入库汇总和实时库存进行数据写入操作:怎么操作呢? [此贴子已经被作者于2012-11-20 19:11:43编辑过]
|
||||
-- 作者:eboe -- 发布时间:2012/11/20 22:11:00 -- 以下是引用mr725在2012-11-20 19:08:00的发言:
入库表对入库汇总和实时库存进行数据写入操作:怎么操作呢? [此贴子已经被作者于2012-11-20 19:11:43编辑过] 入库表建窗体,加按键啊,你不下来看一下,怎么能知道呢?光凭想像呢? |
||||
-- 作者:mr725 -- 发布时间:2012/11/20 22:31:00 -- 呵呵,挺凶的呀,你1楼也没说有窗体嘛 我看看哈。 |
||||
-- 作者:mr725 -- 发布时间:2012/11/20 22:36:00 -- Dim s As Row=Tables("入库").Current Dim t As String = s("货号") If Tables("入库").Current.IsNull("货号") Then MessageBox.Show("货号不能为空!") Else Dim dt1,dt2,dt3 As DataTable dt1 = DataTables("入库") dt2 = DataTables("实时") dt3 = DataTables("入库汇总") For Each dr As DataRow In dt1.DataRows Dim dr2 As DataRow = dt2.find("货号 = \'"& t &"\'") Dim dr3 As DataRow = dt3.find("货号 = \'"& t &"\'") If dr2 Is Nothing Then dr2 = dt2.AddNew dr2("货号") = dr("货号") dr2("数量") = dr("数量") dr2("单价") = dr("单价") Else dr2("数量") = dr2("数量") + s("数量") End If If dr3 Is Nothing Then dr3 = dt3.AddNew dr3("货号") = dr("货号") dr3("数量") = dr("数量") dr3("单价") = dr("单价") Else dr3("数量") = dr3("数量") + s("数量") End If Next MessageBox.Show("商品入库成功!") Tables("入库").AddNew() End If |
||||
-- 作者:eboe -- 发布时间:2012/11/20 23:23:00 -- 十分感谢,你一指点,马上就明白了,谢谢谢谢 |
||||
-- 作者:mr725 -- 发布时间:2012/11/21 9:11:00 -- 你只要保存当前入库的行,是不需要循环的·
Dim dr2 As DataRow = dt2.find("货号 = \'"& t &"\'") MessageBox.Show("商品入库成功!") [此贴子已经被作者于2012-11-21 9:12:23编辑过]
|