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


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

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

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
有谁能做个字段间的计算关系由用户自定义公式的例子?  发帖心情 Post By:2009/3/31 11:20:00 [只看该作者]

    在此之前,我们用狐表做的所有项目中,各字段间的运算关系都是固定写在列的DataChanged事件中,或者写在项目的变量事件中。但在实际应用中,有时候这种计算关系并不是固定的,需要在运行程序的时候动态生成,并可能变化。    
   例如,在通用的工资软件中,各字段之间的计算关系是由最终用户自定义的。放到Foxtable中,也就是各字段之间的计算关系不能由软件的开发者在DataChanged中写死。而是允许最终用户在窗口中编辑一个公式,编辑之后保存在某个表里面,然后,系统根据表中保存的自定义公式动态生成DataChanged事件中的代码,即生成了各列之间的计算关系。一般情况下,自定义公式中使用的元素包括:各数字(0-9),+,—,*,/,(),负号,if(如果) 函数。
    狐表作为一个开发工具,相信一定能解决好这个问题。所以,希望哪位老师(或者贺老师若有时间能亲自动手最好),能做个例子,供大家学习!如果这个问题能妥善解决好,狐表的应用会更广泛!用途更广!
[此贴子已经被作者于2009-3-31 11:33:21编辑过]

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


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

呵呵,我昨天看到老程做过了,你可以咨询一下。
是通过Eval函数做的。

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


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

以下是引用狐狸爸爸在2009-3-31 11:22:00的发言:
呵呵,我昨天看到老程做过了,你可以咨询一下。
是通过Eval函数做的。

   呵呵,如果程老师已经做好了,就请他上传上来大家共同学习一下吧!看与其他同类软件的功能是否一致。
其他人如果做得比较成功,也希望尽快传上来,期盼学习!
   另外,我很想知道是否支持 括号()和if函数。如果只有加减乘除,没有括号和 if 函数,功能至少会折扣一多半!

   补充:刚刚贺老师说程老师用Eval做的,我查了一下帮助,说EVAL函数采用VBScript语法,好像VBScript中没有if函数,如果是这样,它的功能会大打折扣的,或者说根本无法正常使用.

[此贴子已经被作者于2009-3-31 11:31:29编辑过]

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


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

if then end if do loop while等等,都可以的。
你可以先看看帮助中的Eval函数说明。
[此贴子已经被作者于2009-3-31 11:32:33编辑过]

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


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

以下是引用狐狸爸爸在2009-3-31 11:32:00的发言:
if then end if do loop while等等,都可以的。
你可以先看看帮助中的Eval函数说明。
[此贴子已经被作者于2009-3-31 11:32:33编辑过]

    帮助中的说明很简单,根本就没有提到if,更没有提到怎么用.若是可以用,建议您把帮助中的VBScript语法部分认真完善一下.另外,Eval中的if函数,使用方法应该和易表中的差不多吧.即if(表达式,数值1,数值2)的开式,若表达式为真,等于数值1,若为假,等于数量2.对不对?
    补充:我说的不是Eval函数用在if语句中,而是指Eval的参数(表达式)中是否支持if函数.

[此贴子已经被作者于2009-3-31 11:45:16编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/31 12:26:00 [只看该作者]

eval中应该用iif更合适。
如:eval(iif(表达式,值1,值2),……)
[此贴子已经被作者于2009-3-31 12:26:16编辑过]

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


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

我刚刚改了一下Eval函数,以后可以执行简单的代码:

i = 1
If i = 1 Then
   Eval = "壹佰"
Else
   Eval = "贰佰"
End If

Eval就是要返回的值。

你可以补补VbScript的知识:
http://www.microsoft.com/china/vbscript/vbstutor/vbstutor.htm

这些内容,我不会在帮助提供的了。
[此贴子已经被作者于2009-3-31 12:36:25编辑过]

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


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

以下是引用czy在2009-3-31 12:26:00的发言:
eval中应该用iif更合适。
如:eval(iif(表达式,值1,值2),……)
[此贴子已经被作者于2009-3-31 12:26:16编辑过]

我的意思就是Eval中支持不支持IIF函数,只要支持就好了.我在帮助中没有看到相关的说明.


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


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

以下是引用狐狸爸爸在2009-3-31 12:35:00的发言:
我刚刚改了一下Eval函数,以后可以执行简单的代码:

i = 1
If i = 1 Then
   Eval = "壹佰"
Else
   Eval = "贰佰"
End If

Eval就是要返回的值。

你可以补补VbScript的知识:
http://www.microsoft.com/china/vbscript/vbstutor/vbstutor.htm

这些内容,我不会在帮助提供的了。
[此贴子已经被作者于2009-3-31 12:36:25编辑过]

没有看明白这个例子是什么意思.


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


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

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

没有看明白这个例子是什么意思.


呵呵,意思是:流程语句都支持了,小小的iif有没有都无所谓了
这样可以高速地动态生成和执行函数了,而foxtable原来的动态自定义函数,是需要编译的,虽然运行速度快,但是编译很费时间,而且不够灵活。

[此贴子已经被作者于2009-3-31 12:50:40编辑过]

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