Foxtable(狐表)用户栏目专家坐堂 → 有谁能做个字段间的计算关系由用户自定义公式的例子?


  共有45760人关注过本帖树形打印复制链接

主题:有谁能做个字段间的计算关系由用户自定义公式的例子?

帅哥哟,离线,有人找我吗?
cpayinyuan
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/31 15:17:00 [只看该作者]

看了程老师的事例,基本上明白了大概的思路。好像这段代码是应用在输入数据的时候。

我认为在工资软件中,最大的难度在于如何把自定义公式应用在DatacolChanged事件中,希望哪位老师再提供一下事例或者思路。
[此贴子已经被作者于2009-3-31 15:18:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/31 15:22:00 [只看该作者]

以下是引用cpayinyuan在2009-3-31 15:17:00的发言:
看了程老师的事例,基本上明白了大概的思路。好像这段代码是应用在输入数据的时候。

我认为在工资软件中,最大的难度在于如何把自定义公式应用在DatacolChanged事件中,希望哪位老师再提供一下事例或者思路。
[此贴子已经被作者于2009-3-31 15:18:24编辑过]


其实也不难,在DataColChaned设置代码,判断某列的自定义公式是否包括e.Datacol.Name,如果包括,则重算该列的自定义公式即可。


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/31 15:26:00 [只看该作者]

以下是引用狐狸爸爸在2009-3-31 15:22:00的发言:


其实也不难,在DataColChaned设置代码,判断某列的自定义公式是否包括e.Datacol.Name,如果包括,则重算该列的自定义公式即可。

    对了,顺便请教一个问题,在这种情况下,Datacolchanged事件中的代码顺序可能会有点乱,可能会造成先计算第3列,然后再计算第6列,再计算第1列(第6列的公式可能引用第1列和第3列,第3列的公式可能引用第1列),……,这样对表中计算的正确性有无影响?

[此贴子已经被作者于2009-3-31 15:28:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/31 15:28:00 [只看该作者]

以下是引用cpayinyuan在2009-3-31 15:26:00的发言:

    对了,顺便请教一个问题,在这种情况下,Datacolchanged事件中的代码顺序可能会有点乱,可能会造成先计算第3列,然后再计算第6列,再计算第1列,……,这样对表中计算的正确性有无影响?


不会有任何问题,因为按照我的方法,相关列一变动,公式就会重算。


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/3/31 15:29:00 [只看该作者]

呵呵,我这是针对当前行的按钮公式,几乎就是挪挪位置,调整一下顺序,删除部分仅需要在按钮实现的功能即可,其实很简单的,事件中的代码还不需要这么集中,我的系统中就需要这样的功能,抽空会改,不过到表事件,代码可能需要打散了!


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/31 15:31:00 [只看该作者]

谢谢几位!

 回到顶部
帅哥哟,离线,有人找我吗?
ybtxdz
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:130 积分:874 威望:0 精华:0 注册:2008/8/31 21:32:00
  发帖心情 Post By:2009/4/1 6:03:00 [只看该作者]

以下是引用cpayinyuan在2009-3-31 12:53:00的发言:
   还是希望谁做个自定义公式的例子.

   总感觉在目前的狐表系统中做这个太复杂,一个表中,可能有几十个列都有自定义公式,虽然每个公式的结果都是影响一列,但可能有另外的很多列的变化都会导致这个结果列重算。
   例如,在工资软件中,若用户自定义:应发工资=基本工资+提成+补助+奖金+加班费,则基本工资、提成、补助、奖金、加班费中任一列发生变化,都要重算应发工资。如果是固定的公式用表事件很方便,右是自定义的公式,则需要判断每一个公式中都是由哪些列的变化影响的,感觉比较复杂。希望谁能提供一个好的思路。


其实用狐表解决这个问题这不难。要说难,可能难在如何根据您自己的实际情况规范您实际的公式。

规范的公式设计,能给编程解析公式带来便宜。

下面仅就您提出的“应发工资=基本工资+提成+补助+奖金+加班费”公式粗略的做了一例程,编写了一个自定义函数对公式进行解析,然后在DatacloChanged事件加以运用即成,望能对您有所帮助和启发。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


 回到顶部
帅哥哟,离线,有人找我吗?
yuansq
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:80 积分:788 威望:0 精华:0 注册:2008/9/1 11:23:00
  发帖心情 Post By:2009/4/1 9:28:00 [只看该作者]

以下是引用ybtxdz在2009-4-1 6:03:00的发言:


其实用狐表解决这个问题这不难。要说难,可能难在如何根据您自己的实际情况规范您实际的公式。

规范的公式设计,能给编程解析公式带来便宜。

下面仅就您提出的“应发工资=基本工资+提成+补助+奖金+加班费”公式粗略的做了一例程,编写了一个自定义函数对公式进行解析,然后在DatacloChanged事件加以运用即成,望能对您有所帮助和启发。


 下载信息  [文件大小:284.0 KB  下载次数:6]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

这个不错  学习


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/1 9:43:00 [只看该作者]

以下是引用ybtxdz在2009-4-1 6:03:00的发言:


其实用狐表解决这个问题这不难。要说难,可能难在如何根据您自己的实际情况规范您实际的公式。

规范的公式设计,能给编程解析公式带来便宜。

下面仅就您提出的“应发工资=基本工资+提成+补助+奖金+加班费”公式粗略的做了一例程,编写了一个自定义函数对公式进行解析,然后在DatacloChanged事件加以运用即成,望能对您有所帮助和启发。


   看了这个事例,确实学到了不少东西,知道了大概的思路.
   但是,这个事例中公式只有"+"一个运算符号,所以可以用split函数解析公式,但比较复杂的公式可能有各种运算符号,还可能有括号和函数,解析起来要复杂得多啊,完全不是一个概念.我这之所以认为复杂,也就是由于这个原因,如果只有一个运算符号,就简单得太多了.不知谁能否做一个这样的比较复杂的事例.
   另外,昨天一位老师说Eval函数的参数中支持IFF函数,但我试了一下,却不行,不知为什么.例如:在工资表中:[级别工资]=iff([级别]="初级",100,200),这样的情况,用eval函数该怎样实现?

[此贴子已经被作者于2009-4-1 9:45:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/1 9:50:00 [只看该作者]

经过测试,eval不支持iif的

 回到顶部
总数 67 上一页 1 2 3 4 5 6 7 下一页