以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动追加行并汇总数量时,出现错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99806) |
||||
-- 作者:zhangning -- 发布时间:2017/4/27 9:46:00 -- 自动追加行并汇总数量时,出现错误
管理者:qdrA001 想要达到的效果是: 只要“序号”列出现新的内容,就会在“入库”表新增加一行,并且“入库表”中的“数量”列=”采购“表中”检收1_数量“ + ”检收2_数量“ 在”采购“的表属性中写了以下代码: Select Case e.DataCol.Name Case "序号","检收1_数量","检收2_数量" If e.DataRow.IsNull("序号") = False Dim dr6 As DataRow dr6 = DataTables("入库").Find("序号 = \'" & e.NewValue & "\'") If dr6 Is Nothing Then dr6 = DataTables("入库").AddNew() dr6("序号") = e.DataRow("序号") dr6("产品编号") = e.DataRow("编号") dr6("数量") = e.DataRow("检收1_数量") + e.DataRow("检收1_数量") End If DataTables("入库").DataCols("序号").RaiseDataColChanged(dr6) End If End Select 出现的问题是: 1.每次更改”检收1_数量“或”检收2_数量“数字,就会追加一行,这不是想要的,想要的是,一个序号,只能为一行。 2.”数量“列的内容也不对,大概看了一下,显示的约是输入数量的2倍,这也不对。 请老师帮看看,谢谢! |
||||
-- 作者:有点色 -- 发布时间:2017/4/27 9:51:00 -- Select Case e.DataCol.Name Case "序号","检收1_数量","检收2_数量" If e.DataRow.IsNull("序号") = False AndAlso e.DataRow.IsNull("检收1_数量") = False Dim dr6 As DataRow dr6 = DataTables("入库").Find("序号 = \'" & e.DataRow("序号") & "\'") If dr6 Is Nothing Then dr6 = DataTables("入库").AddNew() dr6("序号") = e.DataRow("序号") dr6("产品编号") = e.DataRow("编号") End If dr6("数量") = e.DataRow("检收1_数量") + e.DataRow("检收2_数量") \'DataTables("入库").DataCols("序号").RaiseDataColChanged(dr6) End If End Select |
||||
-- 作者:zhangning -- 发布时间:2017/4/27 10:39:00 -- 谢谢老师,还有一个问题: 我想将”申请“里的现在所有的行都删除, 但有些删不了,找不出原因,请老师帮看看,谢谢!
|
||||
-- 作者:有点色 -- 发布时间:2017/4/27 10:41:00 -- 你把行锁定了,就不能删除,你要解锁行
http://www.foxtable.com/webhelp/scr/0111.htm
|