以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 为什么流水账的AfterMoveRow表事件不起效 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8875) |
||||
-- 作者:yankunhao -- 发布时间:2010/12/18 16:00:00 -- 为什么流水账的AfterMoveRow表事件不起效 我做了个流水账,用外部数据源做的,在测试的时候AfterMoveRow表事件的代码不执行 然后想将其发到论坛来求助,谁知在定向到内部表后AfterMoveRow表事件的代码却执行了(难道内部表和外部表有什么不同的地方?)! 真怪,想不出是什么原因。外部数据源是用SQL Server 密码都是123
"订单生产安排供需流水账"表里的 DataColChanged 事件代码:
Select Case e.DataCol.Name
据库里加载数据的时候只要加载一个会计期间的数据就能正常计算了。当然如果到了要处理下一个会计期间
时就要做个结账处理:将当期的每个产品的结存结转到下一个会计期间的期初结存里。
"订单生产安排供需流水账"表里的 AfterMoveRow 事件代码:
Dim Key As Decimal [此贴子已经被作者于2010-12-20 8:24:34编辑过]
|
||||
-- 作者:yankunhao -- 发布时间:2010/12/18 18:03:00 -- 有谁知道原因吗?我想是否是软件本身的原因呢? [此贴子已经被作者于2010-12-18 18:07:22编辑过]
|
||||
-- 作者:kylin -- 发布时间:2010/12/19 10:45:00 -- 看不到代码呀! |
||||
-- 作者:yankunhao -- 发布时间:2010/12/19 11:48:00 -- 这个是开发版的,要用开发版才能打开,你有开发版吗? [此贴子已经被作者于2010-12-19 11:49:39编辑过]
|
||||
-- 作者:yankunhao -- 发布时间:2010/12/20 8:28:00 -- 大家看看个问题到底是何原因呢? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/12/20 8:38:00 -- 你得有个不生效的例子才能看啊,你上传的例子是生效的吧? |
||||
-- 作者:yankunhao -- 发布时间:2010/12/20 8:41:00 -- 是的,我上传的这个例子是内部表的,因为外部表还要上传数据库所以就没上传了。 [此贴子已经被作者于2010-12-20 8:42:24编辑过]
|
||||
-- 作者:yankunhao -- 发布时间:2010/12/20 16:37:00 -- 现在经过我的修正如下,好像可以了,请问大家我这样写是否可行?或者有其他更好更高效的写法呢?
说明一下:经过我这样写,当同一会计期间同一天入同一款产品的时候都可以正常计算了。但如果删除某行的时候还不能重算,我想只要加入代码就应该可以了。 但还是想不明白当初的代码出现问题的原因,希望有那位高人指点一下。
现在发现,这样的代码在输入数据的时候,日期一定要按顺序输入,否则计算还是有问题,不知如何解决才好呢?
"订单生产安排供需流水账"表里的 DataColChanged 事件代码:
Select Case e.DataCol.Name For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额
"订单生产安排供需流水账"表里的 AfterMoveRow 事件代码:
Dim Filter As String
[此贴子已经被作者于2010-12-20 16:46:52编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/12/20 16:50:00 -- 关于删除行不行的问题,可以在DataRowDeleting事件中设置代码,将其参与流水账计算的值设置为False或分类设置为空白,然后重算此行之后的所有行。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/12/20 16:56:00 -- 我改一下帮助中的流水账的例子,加上针对删除行这种情况的处理。 |