Foxtable(狐表)用户栏目专家坐堂 → [讨论]易表中left在狐表对应的是什么?


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

主题:[讨论]易表中left在狐表对应的是什么?

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


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

如果是表达式,用SubString函数


SUBSTRING

说明 从字符串中的指定位置开始,返回指定长度的子字符串。
语法 SUBSTRING(expression, start, length)
参数 expression — 原字符串。
start — 起始位置,从1开始编号。
length — 返回长度。


例如:SUBSTRING([电话号码], 3, 9)

[此贴子已经被作者于2008-12-4 9:03:33编辑过]

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


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

楼主应该好好看看应用偏中关于表达式的部分。

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/4 17:04:00 [只看该作者]

If([执行] = -1,round((number([停止日期])-number([开始日期]))*(round(([单价]*(round([剂量值]/[规格值] * Number(Left([用法],1))+0.2,0))+0.002),2)),2),round((number([停止日期])+1-number([开始日期]))*(round(([单价]*(round([剂量值]/[规格值] * Number(Left([用法],1))+0.2,0))+0.002),2)),2))

这是易表里的刷新公式,能否改成狐表函数用在表达式列?

因为易表跟狐表不大一样,刷新公式有IF函数....

是不是用IIF代替?

另外那个日期加减在表达式列里好象无法运用...

[此贴子已经被作者于2008-12-4 17:11:21编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
强大的技术问题  发帖心情 Post By:2008/12/4 17:14:00 [只看该作者]

这么长,我宁愿用数据列加代码了。

如果用表达式:

1、if用iif代替。
2、round参考这个:

表达式并没有提供传统的四舍五入函数Round,我们只能用Convert函数来间接实现。

例如金额列原来的计算公式为:

[数量] * [单价] * (1 - [折扣])

为了保留两位小数,可以将公式改为:

Convert([数量] * [单价] * (1 - [折扣]) * 100, 'System.Int64') / 100

原理很简单:将计算结果乘以100,然后取整,最后除以100。

如果你要保留三位小数,将表达式中的100改为1000即可,其余类推。


 


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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/5 9:12:00 [只看该作者]

图片点击可在新窗口打开查看日期加减在表达式列好象无法运用,看来要新增数据列来实现日期加减.....再使用该列参与表达式列了..

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/12/6 9:56:00 [只看该作者]

以下是引用菜鸟foxtable在2008-12-5 9:12:00的发言:
图片点击可在新窗口打开查看日期加减在表达式列好象无法运用,看来要新增数据列来实现日期加减.....再使用该列参与表达式列了.
应该不能直接用于表达式计算。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/12/6 10:48:00 [只看该作者]

If e.DataCol.Name =  "停止日期" Then

 

   e.datarow("日期相差")= Format(e.datarow("停止日期"), "dd") - Format(e.datarow("开始日期"), "dd")

 end if



日期差用这个代码可以实现。在DATACOLCHANGED中设置,因为其他的要做成什么样,没有文件大家帮不了你。

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2008/12/6 10:49:00 [只看该作者]

以下是引用菜鸟foxtable在2008-12-4 17:04:00的发言:

If([执行] = -1,round((number([停止日期])-number([开始日期]))*(round(([单价]*(round([剂量值]/[规格值] * Number(Left([用法],1))+0.2,0))+0.002),2)),2),round((number([停止日期])+1-number([开始日期]))*(round(([单价]*(round([剂量值]/[规格值] * Number(Left([用法],1))+0.2,0))+0.002),2)),2))

这是易表里的刷新公式

可以简化如下:

round((number([停止日期])-number([开始日期])+1+[执行])*(round(([单价]*(round([剂量值]/[规格值] * Number(Left([用法],1))+0.2,0))+0.002),2)),2)



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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2008/12/6 13:42:00 [只看该作者]

don大师绝对是一等一的高手

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/6 15:40:00 [只看该作者]

以下是引用小狐在2008-12-6 13:42:00的发言:
don大师绝对是一等一的高手

图片点击可在新窗口打开查看同感.同感....


 回到顶部
总数 20 上一页 1 2