以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 狐爸,我要崩溃了,你进来看看吧,2段代码的执行顺序问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=29426) |
-- 作者:晕了快扶我 -- 发布时间:2013/3/6 16:33:00 -- 狐爸,我要崩溃了,你进来看看吧,2段代码的执行顺序问题 =============下面2段代码是在我导入数据窗口里的 Dim r1 As Row = Tables("待出库产品选择_客户订单主表").Current =====================================这些代码是写在窗口的一个导入数据按钮里的 If Tables("待出库产品选择_客户订单主表").Current Is Nothing Then Return =============以上代码是动态加载我所需要的表的 第二段代码我不知道放哪里,才能够先动态加载我需要的表,然后再执行我导入数据的代码 如果我直接放在导入数据的按钮代码的前面,因为.load命令的执行会让表刷新,第二段代码会出错 我放在窗口的Before close事件里,又无法在我导入数据前执行,导致数据无法在导入后正确的被刷新 |
-- 作者:dd754191778 -- 发布时间:2013/3/6 16:40:00 -- 你的问题太难了,新手不会。。。不好意思啊 请问我刚刚看了视屏, 多层表头 还可以用 合并吗? 为什么合并以后 狐表 预览只有表但是表里面没有文字? |
-- 作者:狐狸爸爸 -- 发布时间:2013/3/6 16:52:00 -- 我理解不了你这个问题。
为什么不将数据加载和数据处理分开? 单独做个加载功能,让用户选择要处理的产品、客户、订单,加载之后开始处理。 处理完毕之后保存,需要的话,再次单击加载按钮,重新选择并加载要处理的数据。 |
-- 作者:晕了快扶我 -- 发布时间:2013/3/6 16:53:00 -- 以下是引用muhua在2013-3-6 16:38:00的发言:
您做个全局变量,进行判断。
把控件的事件移到BeforClose中,点击按钮时改变全局变量值,通过全局变量来判断是否需要执行。
执行完后全局变量记得恢复原值。
不懂,说下判断的思路吧...我除了会用判断窗口名来用全局变量,对全局变量一直半懂不懂 |
-- 作者:晕了快扶我 -- 发布时间:2013/3/6 17:00:00 -- 以下是引用狐狸爸爸在2013-3-6 16:52:00的发言:
我理解不了你这个问题。
为什么不将数据加载和数据处理分开? 单独做个加载功能,让用户选择要处理的产品、客户、订单,加载之后开始处理。 处理完毕之后保存,需要的话,再次单击加载按钮,重新选择并加载要处理的数据。 狐爸爸,我的业务流程系统设计得很简单 客户订单---出库单 出库单在新增的时候有个导入窗口,导入的窗口里是筛选过的客户没有交完的订单,业务流程里一共三个窗口,如果单独做一个按钮来加载这些订单,经常有操作员会忘记去点,导致出错啊,所以肯定是自动加载这些方便些啊,你说的单独加载,我确实不知道该到哪里去加载这些数据 |
-- 作者:狐狸爸爸 -- 发布时间:2013/3/6 17:07:00 -- 窗口都是通过代码打开的,你可以将打开窗口的按钮代码设置的,窗口类型设置为模式窗口,打开窗口的代码设置为:
\'加载某个表的数据 \'Forms("窗口").Open
如果要根据这个窗口的处理结果,加载另一个表的数据,可以在这个窗口的BeforeClose事件中加上加载数据的代码。
从来没有人在这个问题上如此痛苦的哦,要不完成地描述一下你的结构和设计思路,最好配合一个简单的例子。 或者等下次更新,以为我记得你说过,似乎ExcuteReader生成的表能够保存的话,你的问题就好解决了,而这个功能我们已经加上。
|
-- 作者:狐狸爸爸 -- 发布时间:2013/3/6 17:14:00 -- 没有必要刻意追求动态加载,最好一次加载所有可能需要处理的数据,除非数据量非常的大。 数据量非常大的时候,也不会处理过程中,一个一个订单来动态加载明细,而且加载一批单子和其明细。 实际操作过程中,通过筛选或关联,而不是加载,来提取每个单子要处理的数据
你这样每条记录都涉及到动态加载的设计,是不合理的。
[此贴子已经被作者于2013-3-6 17:17:22编辑过]
|
-- 作者:晕了快扶我 -- 发布时间:2013/3/6 17:37:00 -- 狐爸,坦白说,我也觉得蛮痛苦的,我也不知道论坛的高手们是如何贴合自己公司实际来走 客户订单到出库单,完了可以统计各项未出库,已出库数据的【动态加载数据的条件下】 我公司是贸易型公司,对外的业务流程非常简单,客户订单-出库单 系统重新设计后全部用动态加载数据的方式【公司的办公电脑很渣,全部加载之前用过,开程序到全部加载完数据要2分钟,数据库现在大概400M的样子,每天增加600K的样子,也许跟自己之前有些代码不合理也有关系】
客户订单由2个表组成,主表的关键字段是【客户订单编号】 子表的关键字段是【客户订单编号】和【产品料号】【订单数】【累交数】【未交数】 【订单数】,【累交数】,【未交数】,这3个字段加进去的目的一是方便业务员知道自己的订单哪些没交,哪些交完,以及具体的数量,另外就是通过这3个字段来做一个统计表,做出客户应交未交的明细 出库单由2个表组成,主表的关键字段是【客户订单编号】和【出库单号】,子表的关键字段是【客户订单编号】和【产品料号】【订单数】【累交数】【未交数】
实际的操作是,业务员输入客户订单后,仓库人员在新增出库单的时候,通过一个【导入】的按钮导入通过筛选的没有交完的订单明细,筛选的条件就是通过【订单数】【累交数】【未交数】【客户订单编号】和【产品料号】来筛选,(这个思路跟置顶帖的视频做的是一样的,只不过他是用的全部加载的做法,我是动态加载,涉及到把后台数据加载到前台来) 这里有个比较特殊的要求是在新增,编辑,删除出库单或者出库单子表的时候,同一订单的出库单明细要同步更新,要同步更新的理由也很简单,第一是客户有要求,必须知道累交量和未交量,第二就是经常有仓库可能录错单的情况,举个例子,一张订单20个,分了2次出,如果不更新的情况,第一次出了10个,第一张出库单的累交就是10个,第二次出了10个,不更新,累交还是10个,未交还是10个,仓库人员事情一多,也会忘记,导致数据出错,反复出库
设计思路大体就是这样,请高手指点一下吧,自己不是专业的程序员,只是对公司的流程还有人员操作习惯比较熟悉 |
-- 作者:晕了快扶我 -- 发布时间:2013/3/6 17:38:00 -- 以下是引用狐狸爸爸在2013-3-6 17:07:00的发言:
窗口都是通过代码打开的,你可以将打开窗口的按钮代码设置的,窗口类型设置为模式窗口,打开窗口的代码设置为:
\'加载某个表的数据 \'Forms("窗口").Open
如果要根据这个窗口的处理结果,加载另一个表的数据,可以在这个窗口的BeforeClose事件中加上加载数据的代码。
从来没有人在这个问题上如此痛苦的哦,要不完成地描述一下你的结构和设计思路,最好配合一个简单的例子。 或者等下次更新,以为我记得你说过,似乎ExcuteReader生成的表能够保存的话,你的问题就好解决了,而这个功能我们已经加上。
狐爸,新增出库单的时候,我出库单主表的当前行是空行,因为我主表的客户订单编号和客户名称之类的都是直接导入的 \'加载某个表的数据 这个只有在我打开导入订单这个窗口后才能有加载条件啊 \'Forms("窗口").Open |
-- 作者:晕了快扶我 -- 发布时间:2013/3/6 17:50:00 -- 以下是引用狐狸爸爸在2013-3-6 17:14:00的发言:
没有必要刻意追求动态加载,最好一次加载所有可能需要处理的数据,除非数据量非常的大。 数据量非常大的时候,也不会处理过程中,一个一个订单来动态加载明细,而且加载一批单子和其明细。 实际操作过程中,通过筛选或关联,而不是加载,来提取每个单子要处理的数据
你这样每条记录都涉及到动态加载的设计,是不合理的。
[此贴子已经被作者于2013-3-6 17:17:22编辑过] 关键是就是这个“最好一次加载所有可能需要处理的数据”,我也晕了,有没有高手来指点一下..实在是不知道咋弄了 或者,狐狸爸爸,快更新吧 |