提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:我只采一朵|2014-04-02 09:36:49.000|阅读 7112 次
概述:本文跟大家分享一下我在使用过程中总结出来的水晶报表函数。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
水晶报表大家都很熟悉了,最近我也在学习这款报表,发现的确很强大,尤其是它的高效集成给我留下了很深的印象。下面是我在使用过程中总结的一些水晶报表函数,分享给大家。
函数使用
1.取上一条记录previous({tablename.fieldname});
2.取字符串中某个字符第N次出现前面字符 split(string,"text")[1] 例:split("报销餐费","餐费")[1] ="报销"
Basic公式的语法
1.数据类型
(1)字符串型:String
字符串处理有很多函数,如:Left(),Right(),Mid(),Trim()
(2)数字型:Number
(3)货币型:Currency
Crystal Reports中提供CCur()函数,可以将数值型数据转换为货币型数据,比如:CCur(500)。
(4)布尔型:Boolean
比如True或False,一般Yes可取代True,No可取代False。
(5)日期及时间型:Date,Time及DataTime
Date类型用于存放日期,Time类型用于存放时间,DataTime类型则可同时存放日期和时间 时间可以使用#...#来标识如:#2001/10/1#
2.变量及初始值
变量在使用前必须使用Dim关键字声明,格式为:
Dim变量名 AS 数据类型 变量命名比较灵活,但不能和BASIC语法中的关键字同名,关键字是以蓝色显示的。
变量类型可以分为以下几种:
(1)简单类型
(2)范围类型
(3)用来存放简单类型和范围类型的数组
3.水晶报表的BASIC语法公式中只支持一维数组,且数组的下标从1开始,这和很多的编程语言的语法规则不一样。按照如下方式定义一个数组:
Dim 数组名(数组长度)AS数据类型
例子:Dim Week(6) AS String Week=Array("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
4.数组除了可以存放简单数据类型数据外,还可以存放范围数据
5.运算符
(1)布尔运算符
(2)比较运算符
(3)NULL值
(4)算术运算符
6.控制公式执行流程的语句
(1)If-Then-Else语句
If 布尔表达式 Then
...
或则
End If
if 布尔表达式 then
...
elseif 布尔表达式 then
...
elseif 布尔表达式 then
...
else
...
endif
(2)Select Case语句
Select Case 变量
Case 条件1
程序
Case 条件2
程序
Case Else
程序
End Select
(3)For/Next语句
For I=1 To n
....
Next I
(4)Exit For(只用于For循环语句中)
有时,可能在循环语句未执行完毕的时候, 就想先结束该循环语句的执行。
(5)While
while 语句用来条件反复执行一段语句,该语句基本结构如下:
while 布尔表达式
......
end
其执行步骤是先判断布尔表达式是否成立,如果成立,就执行省略号中的程序段,否则就跳出该while循环。
(6)Do
7.全局变量
上面讲述的Dim语句声明的变量都是属于局部变量,而全局变量的语法格式如下:
Global 全局变量名 AS 变量类型 例子:Global Sdepart AS String
请记住,凡是定义为Global的全局变量,只要这些变量的名称相同,则其所占用的内存也相同。
8.共享变量
除了全局变量外,还有可以在主报表和子报表之间共享的变量,前面介绍的全局变量在主报表中使用同一块内存,而共享变量的内存是有主报表和子报表共用,所以共享变量的定义域比全局变量更大,也就是说,共享变量不仅可以跨域公式,还可以跨域主/子报表。
定义共享变量的语法格式如下:
Shared 共享变量名 As 变量类型
同样在主报表中定义了共享变量后,在子报表中药引用该共享变量的时候,也需要再声明一次。主子报表的共享变量其实也是占用同一块内存。
另外请记住,当修改子报表后,如果看到报表的结果并没有更新,这时请在报表设计区中右键单击子报表控件,并在弹出的对话框中选择“重新导入子报表”,这样就能看到更新的结果了。
9.报表中公式的执行顺序
指定公式执行的顺序,可以使用函数EvaluateAfter()
例子:
EvaluateAfter(@gongshi2)
‘gongshi1的公式代码
......
10.Cystal Reports内建函数
水晶报表中的十几种内建函数
(1)字符串
Len()函数:用来计算字符串的长度;
Trim():去掉字符串中的所有空格;
LTrim():去掉字符串开头的空格;
RTrim()函数:删除字符串尾部的空格;
Ucase(“jack”)函数:将字符串转换成大写
Lcase(“JACK”)函数:将字符串转换成小写
Mid()Left()Right()
StrCmp(“apple”,“app”):字符串比较函数,前一个是目标字符串,后一个是比较字符串。
Instr()函数:寻找字符串内容函数
Filter()函数:从数组中寻找字符串内容
Replace()函数:取代字符串内容
StrReverse()函数:字符串反转
Split()函数:分割字符串函数
Join()函数:连接字符串
(2)日期时间
CurrentDate,CurrentTime,CurrentDateTime取得当前时间
要取出日期中的年,月,日甚至时,分,秒则可以使用Year(),Month(),Day(),Hour(),Minute(),Second()函数
IsDateTime(),IsDate(),IsTime()
格式:
WeekDay(),WeekdayName()及MonthName()
格式:
DateSerial()及TimeSerial()
格式:
DateDiff()
(3)类型转换
CBool()函数:该函数仅接受Number或Currency类型的数据,若给定的值不为0则返回True,否则返回False,如下例:CBool(-12.1) '返回True
CCur()函数:该函数可以将Number,String类型数据转换成Currency类型的数据
如下例:CCur(“1200”) ‘返回1200
CDbl()函数:将字符串转换成Number型的数据,如下例:CDbl(“143.2”) ’返回143.2
CStr()函数:该函数可以把输入数据转换成字符串,也可以用来格式化数据内容,若输入的数据是Boolean值,则返回值只有两种“真”,“假”。若输入的参数是Number或Currency,则可以指定的参数就非常多,具体格式请读者们参考相关的帮助。
CDateTime()CDate()及CTime()可以使用CDateTime()CDate()CTime()将日期时间字符串,数字等转换成DateTime,Date,Time型的数据。
(4)数组(队列)
Array()函数:用来建立数组,与Crystal语法中的MakeArray()具有相同的功能。注意Array中的数据类型要一致。
UBound()函数:传递回数组的长度
统计:可以对数组中的数据进行计算如求总和,求平均值等等。
(5)格式化
(6)判断NULL值
判断Null的函数格式为:IsNull(字段名)
比如下例:可检查用户名字是否为空:IsNull({CustomerList.Name})
请注意,Null与空字符串时不一样的,Null指该字段中没有值。另外,还有PreviousIsNull()及NextIsNull()可检查上一条或则下一条字段值是否为空值。
(7)打印状态
转自博客园
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都控件本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢