以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]增加数据行非常慢 估计我代码算法问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53366) |
||||
-- 作者:good131577 -- 发布时间:2014/7/6 12:41:00 -- [求助]增加数据行非常慢 估计我代码算法问题 我是有个肉禽蛋下单界面 点增加出库单 按钮 会在社员基本信息.畜牧出库单增加一行 同时在社员基本信息.畜牧出库单.畜牧出库明细增加一行 但是增加的时候会卡 速度很慢! 而且增加好之后 我在商品大类中选择商品 也要卡一段时间才行 因为我选择商品大类 后面的商品名称 编码 规格 单价 数量(默认1) 单位 折扣 小计 余额之类的都是自动关联出来的~ 然后这个余额会关联到上面表格的消费金额中 用上一次的余额减去这次的消费金额 得到 最终余额。 比如 我选猪肉 单价35 数量为1 金额则为-35 然后上面的表格消费金额就是-35 余额为上一次的余额178.38减去35 得到143.38~ 我改变下面的单价、数量 有计算的话 就会卡很久!!(DataColChanged事件代码里有计算代码)这是为什么~还有点增加产品明细按钮在下面表格增加一行 也会卡很久~
|
||||
-- 作者:good131577 -- 发布时间:2014/7/6 12:47:00 -- 把程序上传~ 麻烦大神帮忙看下 foxtable开发版的 开发者登录密码chsheng 外部数据库链接可能需要重新设置下~
|
||||
-- 作者:有点甜 -- 发布时间:2014/7/6 14:25:00 -- 畜牧出库明细表的DataColchanged事件改一下
If e.DataCol.Name = "配送日期" Then
|
||||
-- 作者:good131577 -- 发布时间:2014/7/6 15:09:00 -- 可以了~有点甜大哥很厉害啊 麻烦在请教个问题 还是肉禽蛋下单界面~ 当我7月6号 在下面表格添加了两笔订单 点旁边的 删除出库单按钮 上面表格中7月6号那行删掉了~下面表格2笔订单也没了 但是回畜牧出库明细 还是会有那两行数据 (这两行是垃圾数据 是要删除的~) 我想到的是表间关联 畜牧出库单_明细 同步删除关联行勾选上~ 但是一勾选上就会出错~这个怎么弄?用代码吗
![]() ![]() ![]() ![]() ![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2014/7/6 15:23:00 -- 我设置了,测试没有问题,设置以后,会报错,你退出重新打开以后,就正常了。 |
||||
-- 作者:good131577 -- 发布时间:2014/7/6 15:55:00 -- 嗯嗯 我试了下 要退出才可以 我以为是设置有问题~ 麻烦还有个问题看下 不好意思 还有个问题 问题是在蔬菜下单 界面 我点右下角的蔬菜余额统计按钮 希望把对应客户的今天之前(包括今天)小计累加统计 得到的值写入对应客户的蔬菜余额列中 例如 点按钮 7012客户 就是把今天之前 7012客户之前小计全部累加起来 写入社员基本信息表 蔬菜余额列中 7013客户同理 希望点一下按钮所有客户的都统计出来 我的蔬菜余额统计按钮代码 是: Dim sum As Double sum=Tables("社员基本信息.社员消费明细").Compute("Sum(单价)","配送日期 <= #Date.Today# ") Tables("社员基本信息").Current("蔬菜余额")=sum |
||||
-- 作者:有点甜 -- 发布时间:2014/7/6 16:05:00 -- 代码
For Each dr As DataRow In DataTables("社员基本信息").DataRows |
||||
-- 作者:good131577 -- 发布时间:2014/7/6 16:16:00 -- ? 可以了 谢谢有点甜大哥~ 如果我想更进一步: 每天晚上11点多 也就是晚上 自动调用这段代码 来更新每个客户的蔬菜余额值 不用点按钮去手动更新~ 这个可以实现吗? 这个要写在什么事件里面??
|
||||
-- 作者:有点甜 -- 发布时间:2014/7/6 16:18:00 -- 你应该写在afterOpenProject事件里,每次打开项目的时候,就计算一次。 |
||||
-- 作者:good131577 -- 发布时间:2014/7/6 16:35:00 -- 这样也行~ 原本没改之前计算非常慢~以为计算会花费很久时间 就想晚上让它慢慢计算 一直挂在那 改了之后计算速度还是很快的! 麻烦在看下这个 我是想蔬菜下单界面 打开之后 记录位置会自动停在配送日期 离今天最近的日期位置 例如7月6号打开 停在7月6号的位置 如果没有6号 有5号 停在7月5号的位置 我是写在蔬菜下单界面 afterload 事件里面 代码: Tables("社员基本信息.社员消费明细").Sort="配送日期" For Each dr As Row In Tables("社员基本信息.社员消费明细") If dr("配送日期") >= Date.Today Tables("社员基本信息.社员消费明细").Position=dr.Index End If Next |