以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助,如何实现物品调取,从原来库点调取后,原来库存减少,同时在新库点增加对应数量! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57136) |
-- 作者:李孝春 -- 发布时间:2014/9/18 20:42:00 -- 求助,如何实现物品调取,从原来库点调取后,原来库存减少,同时在新库点增加对应数量! 求助: 求助,如何实现物品调取,从原来库点调取后,原来库存减少,同时在新库点增加对应数量!
点物品调度后弹出物品调库管理 选择原库地点 对应的是设备库存的入库地点 原库数量自动等于设备库存表中的当前库存数 当选择了新的调入地点后,当前原库点对应出库相应数量的商品,同时新增一个入库数据到调入底单。
不知道这样的思路合理不合理,求解
求指导 求更加合理化的设计思路和代码写法 |
-- 作者:有点甜 -- 发布时间:2014/9/18 20:45:00 -- 用代码,做一个出库和一个入库操作。 |
-- 作者:李孝春 -- 发布时间:2014/9/18 21:25:00 -- 回复:(有点甜)用代码,做一个出库和一个入库操作。... 我采用了一个表行改变时间增加出库 然后再窗体关闭前增加入库 基本可以实现我的要求
但是现在又一个问题出现: 设备库存表中有一个当前库存 入库地点 出库地点 入库数量 出库数量 五个字段
门店调取表中有一个原库地点 调入地点 原库数量 调取数量 当前库存
原库数量我想实现在原库地点输入内容后 且设备名称不为空的情况下 实现筛选结果为当前所选择的原库地点和设备名称对应的库存为多少
当调入地点和调取数量有内容后 当前库存则等于调入地点对应设备名称的当前库存
下面是实现代码 但是运行时候报错 Select Case e.DataCol.Name
出现下列错误 .NET Framework 版本:2.0.50727.5483 |
-- 作者:有点甜 -- 发布时间:2014/9/18 21:29:00 -- dr = DataTables("设备库存").Find("[出库地点] = \'" & e.DataRow("原库地点") & "\' and [设备名称] = \'" & e.DataRow("设备名称") & "\'") |
-- 作者:unverse -- 发布时间:2014/9/18 21:37:00 -- 在DataTable查找符合条件的行,如果找到的话,返回找到的行,否则返回Nothing。 语法: Find(Filter,Sort,Index) 示例一: Dim dr As
DataRow 示例二: 有的时候,我们需要查找倒数第几行数据,例如最近一次订购某产品的记录。 Dim dr As DataRow ‘以上帮助里的,说的很明白,第二个参数是SORT 排序 用的,这里只能指定一个字段,可以用DESC 逆序排列,你上面的条件写错了。。。 dr = DataTables("设备库存").Find("[出库地点] = \'" & e.datarow("原库地点") & "\' and [设备名称] = \'" & e.datarow(“设备名称”) & "\'") 这样写看看对不。。如果要逆序可以加上排序字段 |
-- 作者:李孝春 -- 发布时间:2014/9/18 22:05:00 -- 回复:(有点甜)dr = DataTables("设备库存").Find("... 谢谢有点甜老师 现在设备库存表又出问题了 当前库存不能根据入库地点和设备名称来对应进行计算了 求纠正代码 Select Case e.DataCol.Name Dim dr As DataRow [此贴子已经被作者于2014-9-18 23:31:04编辑过]
|
-- 作者:李孝春 -- 发布时间:2014/9/18 22:06:00 -- 回复:(unverse)在DataTable查找符合条件的行,如果... 谢谢 |
-- 作者:有点甜 -- 发布时间:2014/9/18 22:25:00 -- Select Case e.DataCol.Name Dim dr As DataRow |
-- 作者:李孝春 -- 发布时间:2014/9/19 0:34:00 -- 回复:(有点甜)Select Case e.DataCol.Name &n... 有点甜老师 代码运行后出现如下错误 继续求助 想实现是对应入库地点 对应设备名称的 最后一行数据当前库存 减去出库数量 计算成新的当前库存 附上门店调取表事件代码 Select Case e.DataCol.Name Case "设备名称" Tables("设备库存").AddNew Dim a As Row = Tables("设备库存").Current a("设备名称")=e.DataRow("设备名称") a("设备型号")=e.DataRow("设备型号") a("设备颜色")=e.DataRow("设备颜色") a("设备版本")=e.DataRow("设备版本") a("设备内存")=e.DataRow("设备内存") a("出库时间")=e.DataRow("调取时间") a("出库地点")=e.DataRow("原库地点") a("设备品牌")=e.DataRow("设备品牌") If e.DataRow("原库地点") IsNot Nothing Then Dim dr As DataRow dr = DataTables("设备库存").Find("[入库地点] = \'" & e.DataRow("原库地点") & "\' and [设备名称] = \'" & e.DataRow("设备名称") & "\'" ,"[_SortKey] Desc") If dr IsNot Nothing e.DataRow("原库数量")=dr("当前库存") End If End If Case "调取数量" Tables("设备库存").Current("出库数量")=e.DataRow("调取数量") Case "调入地点" If e.DataRow("调取数量") IsNot Nothing Then Dim dr As DataRow dr = DataTables("设备库存").Find("[入库地点] = \'" & e.DataRow("调入地点") & "\' and [设备名称] = \'" & e.DataRow("设备名称") & "\'","[_SortKey] Desc") If dr IsNot Nothing e.DataRow("当前库存")=dr("当前库存")+e.DataRow("调取数量") End If End If End Select 物品调取窗体关闭前代码 Dim blm As WinForm.TextBox = e.Form.Controls("TextBox1") If blm.text <>"" Then Tables("门店调取").Save() Tables("设备库存").AddNew Dim a As Row = Tables("设备库存").Current Dim b As Row = Tables("门店调取").Current a("设备名称")=b("设备名称") a("设备型号")=b("设备型号") a("设备颜色")=b("设备颜色") a("设备版本")=b("设备版本") a("设备内存")=b("设备内存") a("入库时间")=b("调取时间") a("入库地点")=b("调入地点") a("设备品牌")=b("设备品牌") a("入库数量")=b("调取数量") \'b("当前库存")=a("当前库存") Else \'反之 Tables("门店调取").Current.Delete Tables("设备库存").Current.Delete End If \'结束 |
-- 作者:李孝春 -- 发布时间:2014/9/19 9:15:00 -- 回复:(李孝春)回复:(有点甜)Select Case e.Data... 继续求解 望各位老师鼎力指导 谢谢 |