以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教关于重置列的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56203) |
-- 作者:youngk -- 发布时间:2014/9/1 9:11:00 -- 请教关于重置列的问题 有时候数据调整了需要重置列,但是每次都要把所有的列重置,请问能不能只重置该列修改后的行呢? |
-- 作者:Bin -- 发布时间:2014/9/1 9:15:00 -- 重置列,不是只重置一列的么? |
-- 作者:有点甜 -- 发布时间:2014/9/1 9:15:00 -- 如果要这样,你只能编写代码实现这个重置列的功能,加入判断
http://www.foxtable.com/help/topics/0428.htm
http://www.foxtable.com/help/topics/1587.htm
|
-- 作者:youngk -- 发布时间:2014/9/1 17:57:00 -- 我把问题说详细点,请大师支招: 我建了一个进出库表,库存列用的是数据列而不是表达式列,在做流水账记录时,就会发生一种情况,比如:以前某一天的进出库数量错了,我对该行数据进行了修改,该行的库存就变化了,但是以后的其他行的库存实际也应该变化,但是因为是数据列就没有对应的变化过来,所以,我只能用重置列的方式把库存数据调整过来。系统自带的重置列是把该列所有行都重置了,事实上,我只需要把修改行及其以后的数据进行重置就可以了,请大神支招,这个代码怎么写呢?
[此贴子已经被作者于2014-9-1 17:57:27编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/9/1 18:06:00 -- 你的流水账的代码写得有问题把?上传例子瞧瞧 |
-- 作者:youngk -- 发布时间:2014/9/1 18:37:00 -- Select Case e.DataCol.Name Case "客户名称","货物种类","进出库分类","吨位","库存" Dim dt As DataTable=DataTables("进出库信息记录") Dim mr As DataRow = e.DataRow Dim dr As DataRow dr = dt.Find("[_SortKey] < " & mr("_SortKey") & " And [客户名称] = \'" & mr("客户名称") & "\'And[货物种类]= \'" & mr("货物种类") & "\'", "[_SortKey] Desc") If dr Is Nothing Then If mr("进出库分类")="转存" Then mr("库存")=mr("吨位") End If If mr("进出库分类")="进库" Then mr("库存")=0+mr("吨位") End If If mr("进出库分类")="出库" Then mr("库存")=0-mr("吨位") End If If mr("进出库分类")="对过" Then mr("库存")=0 End If End If If dr IsNot Nothing Then If mr("进出库分类")="进库" Then mr("库存")=dr("库存")+mr("吨位") End If If mr("进出库分类")="出库" Then mr("库存")=dr("库存")-mr("吨位") End If If mr("进出库分类")="对过" Then mr("库存")=dr("库存") End If End If End Select |
-- 作者:youngk -- 发布时间:2014/9/1 18:37:00 -- 应该没问题,用起来比较顺畅 |
-- 作者:有点甜 -- 发布时间:2014/9/1 19:03:00 -- 流水账,参考
http://www.foxtable.com/help/topics/1572.htm
http://www.foxtable.com/help/topics/2136.htm
|
-- 作者:youngk -- 发布时间:2014/9/2 9:02:00 -- 找到解决方法了,现在移动行里设置代码,再利用上移行、下移行的系统命令。大家觉得有问题吗? |
-- 作者:有点甜 -- 发布时间:2014/9/2 9:33:00 -- 只要你觉得没问题就没问题。
正确的流水账,参考8楼的帮助文档。 |