以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]为什么执行普通的加减法,刚开始是对的,到后面+法变成了-法的结果。-法的接口变成了+法? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=144023) |
||||
-- 作者:zto001 -- 发布时间:2019/12/8 23:19:00 -- [求助]为什么执行普通的加减法,刚开始是对的,到后面+法变成了-法的结果。-法的接口变成了+法? [求助]为什么执行普通的加减法,刚开始是对的,到后面+法变成了-法的结果。-法的接口变成了+法? 以下是执行的代码。执行的值未变过,只有结果变。 Dim 行 As Row = Tables("出入库").Current Dim 仓库 As WinForm.ComboBox = e.Form.Controls("仓库") Dim 操作人 As WinForm.TextBox = e.Form.Controls("操作人") Dim 类型 As WinForm.ComboBox = e.Form.Controls("类型") Dim 上下站 As WinForm.ComboBox = e.Form.Controls("上下站") Dim 数量 As WinForm.NumericComboBox = e.Form.Controls("数量") Dim 操作图片 As WinForm.TextBox = e.Form.Controls("操作图片") Dim 件数 As WinForm.NumericComboBox = e.Form.Controls("件数") Dim 条码区 As WinForm.TextBox = e.Form.Controls("条码区") Dim 物品 As WinForm.ComboBox = e.Form.Controls("物品") Dim 新增行 As Row = Tables("出入库").AddNew() 新增行("类型")=类型.value 新增行("仓库")=仓库.value 新增行("上下站")=上下站.value 新增行("物品名称")=物品.value 新增行("数量")=数量.value 新增行("件数")=件数.value 新增行("操作人")=操作人.value 新增行("时间")=Date.Now 新增行("编号")="CR" & Format(Date.Now,"yyMMddHHmmss") 新增行("操作图片")=操作图片.value 新增行.Save Select Case 类型.value Case "入库" Dim dr1 As DataRow = DataTables("统计").Find("仓库 = \'"& 上下站.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr1 IsNot Nothing Then dr1("当前数量")=dr1("当前数量")-数量.value dr1.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=上下站.value 新增("物品名称")=物品.value 新增("当前数量")=-数量.value 新增.Save End If Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr1("当前数量")+数量.value dr2.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=仓库.value 新增("物品名称")=物品.value 新增("当前数量")=数量.value 新增.Save End If Case "应到" Dim dr1 As DataRow = DataTables("统计").Find("仓库 = \'"& 上下站.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr1 IsNot Nothing Then dr1("当前数量")=dr1("当前数量")+数量.value dr1.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=上下站.value 新增("物品名称")=物品.value 新增("当前数量")=数量.value 新增.Save End If Case "出库" Dim dr1 As DataRow = DataTables("统计").Find("仓库 = \'"& 上下站.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr1 IsNot Nothing Then dr1("当前数量")=dr1("当前数量")-数量.value dr1.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=上下站.value 新增("物品名称")=物品.value 新增("当前数量")=-数量.value 新增.Save End If Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr1("当前数量")-数量.value dr2.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=仓库.value 新增("物品名称")=物品.value 新增("当前数量")=-数量.value 新增.Save End If Case "退单" Dim dr1 As DataRow = DataTables("统计").Find("仓库 = \'"& 上下站.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr1 IsNot Nothing Then dr1("当前数量")=dr1("当前数量")+数量.value dr1.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=上下站.value 新增("物品名称")=物品.value 新增("当前数量")=数量.value 新增.Save End If Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr1("当前数量")+数量.value dr2.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=仓库.value 新增("物品名称")=物品.value 新增("当前数量")=数量.value 新增.Save End If Case "盘点+" Dim dr1 As DataRow = DataTables("统计").Find("仓库 = \'"& 上下站.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr1 IsNot Nothing Then dr1("当前数量")=dr1("当前数量")-数量.value dr1.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=上下站.value 新增("物品名称")=物品.value 新增("当前数量")=-数量.value 新增.Save End If Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr1("当前数量")+数量.value dr2.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=仓库.value 新增("物品名称")=物品.value 新增("当前数量")=数量.value 新增.Save End If Case "盘点-" Dim dr1 As DataRow = DataTables("统计").Find("仓库 = \'"& 上下站.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr1 IsNot Nothing Then dr1("当前数量")=dr1("当前数量")+数量.value dr1.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=上下站.value 新增("物品名称")=物品.value 新增("当前数量")=数量.value 新增.Save End If Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr1("当前数量")-数量.value dr2.Save Else Dim 新增 As Row = Tables("统计").AddNew() 新增("仓库")=仓库.value 新增("物品名称")=物品.value 新增("当前数量")=-数量.value 新增.Save End If End Select |
||||
-- 作者:有点蓝 -- 发布时间:2019/12/8 23:27:00 -- 没看懂。请上传实例,说明详细测试步骤 |
||||
-- 作者:zto001 -- 发布时间:2019/12/9 15:53:00 -- 如图我点击添加,自动查找符合仓库值以及上下站值的对应物品进行加减。刚开始加没事,你一直点就会发现后面加减错了 ![]() ![]()
|
||||
-- 作者:有点蓝 -- 发布时间:2019/12/9 16:19:00 -- 点一下,正确的数据应该是什么,比如点20下,正确的数据应该又是什么。举例说明一下 我发现点一下,第1~2行数量都同时减少1000,他们还是相差1000,点击几十下后,还是相差1000,不过都变为负数了。怎么样的结果才是正确的结果?
[此贴子已经被作者于2019/12/9 16:19:18编辑过]
|
||||
-- 作者:zto001 -- 发布时间:2019/12/9 17:10:00 -- 入库 点一下于野增加1000,市场部减少1000。点20下于野增加了2万,市场部减少了2万才对 |
||||
-- 作者:zto001 -- 发布时间:2019/12/9 17:12:00 -- Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr1("当前数量")+数量.value dr2.Save |
||||
-- 作者:有点蓝 -- 发布时间:2019/12/9 17:17:00 -- Dim dr2 As DataRow = DataTables("统计").Find("仓库 = \'"& 仓库.value &"\' and 物品名称=\'"& 物品.value &"\'") If dr2 IsNot Nothing Then dr2("当前数量")=dr2("当前数量")+数量.value dr2.Save |