Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共20 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

11楼
狐狸爸爸 发表于: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楼
狐狸爸爸 发表于:2008/12/4 9:15:00
楼主应该好好看看应用偏中关于表达式的部分。
13楼
菜鸟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))

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

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

是不是用IIF代替?

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

[此贴子已经被作者于2008-12-4 17:11:21编辑过]
14楼
狐狸爸爸 发表于:2008/12/4 17:14:00

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

如果用表达式:

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

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

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

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

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

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

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

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


 

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

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

 

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

 end if



日期差用这个代码可以实现。在DATACOLCHANGED中设置,因为其他的要做成什么样,没有文件大家帮不了你。
18楼
don 发表于: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楼
小狐 发表于:2008/12/6 13:42:00
don大师绝对是一等一的高手
20楼
菜鸟foxtable 发表于:2008/12/6 15:40:00
以下是引用小狐在2008-12-6 13:42:00的发言:
don大师绝对是一等一的高手

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

共20 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.