以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [建议] 能用代码动态设置某列的计算代码。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1191)

--  作者:wcs
--  发布时间:2008/11/20 22:30:00
--  [建议] 能用代码动态设置某列的计算代码。
如同动态设置关联可以使程序灵活度大大提高一样,

动态设置计算代码,同样也可以使程序有更丰富的设置和应变能力。

例如,针对动态的数据源中的数据,是要运用不同的计算代码的,所以计算代码能动态设置是最好了!

强力建议!
--  作者:czy
--  发布时间:2008/11/20 22:34:00
--  
技术难度太大,估计不行吧。
--  作者:wcs
--  发布时间:2008/11/20 22:38:00
--  

我感觉难度不会太大吧?

这个要老六看看。


--  作者:程兴刚
--  发布时间:2008/11/20 22:39:00
--  

     哥们儿,动态设置列计算代码,实际就是使用事件代码来完成,没什么两样的,反过来,采用事件代码的结果等同于列计算代码,不信您试试!
     唯一不同的是每次必须执行该段代码!


--  作者:wcs
--  发布时间:2008/11/20 22:45:00
--  
程,能举一个例子吗?

易表的动态设置公式,很方便的。
--  作者:wcs
--  发布时间:2008/11/20 22:48:00
--  
计算代码中大多用到E参数,这个参数是针对存放计算代码的表的。

当前是其他表时,那个原来的E参数是不起作用的。

我希望的是:在一个界面集中灵活处理数据。

没办法,现在的用户傻,只有用傻办法,一步到位不用多想。复杂的事我来搞定。
--  作者:程兴刚
--  发布时间:2008/11/20 23:10:00
--  
只要能用计算代码的,原则上事件代码都能实现,只不过事件代码执行起来应该快过事件代码,有的事件代码可以用e.参数,有的不能,需要datatable之类的,但是都差不多!用事件代码,实现及时更新,相对操作起来,因为用户操作时的执行间歇,一点也不慢,但是可以逐条更新,达到及时刷新的目的,相当于易表的刷新公式!

先看看这个帖子,分楼层对比一下,暂时没有太多的实例!

http://www.foxtable.com/dispbbs.asp?boardid=2&Id=1172
--  作者:狐狸爸爸
--  发布时间:2008/11/21 9:01:00
--  

动态设置计算代码没有任何意义的,你想想,现在有流程控制语句了,根据不同的条件,执行不同的计算代码即可。
if then else
select case
等等

[此贴子已经被作者于2008-11-21 9:02:09编辑过]

--  作者:wcs
--  发布时间:2008/11/21 9:22:00
--  

我也知道用流程是可以控制的。

但是,if里面内容太多,一个计算代码里会有200行代码,不易管理。

比如:如果数据源是A,则要计算三个表的10多个列内容,第一列都用IF判断。
   如果数据源有几十个(会计软件就有几十种),那我的天,我的眼睛都要看花!

   不如将同一数据源的代码集中在一个按键中,动态设置一下计算代码并运行它们,这样好管理多了。
   至于为什么有这多的数据源--我的数据源由用户现场确定,我只在内部表里确定不同软件数据库里面需要的表名和列名。我的软件要转化各种财务数据库。


--  作者:狐狸爸爸
--  发布时间:2008/11/21 9:42:00
--  

呵呵,不管怎样,代码都是要设置的。
一个事件中的有200行代码,好过10个地方各20行代码。
分支较多时,if确实不太方便,select case较好。
只要组合好,条理清晰,别说200行,1000行也行。

[此贴子已经被作者于2008-11-21 9:42:50编辑过]