水晶报表进阶.ppt
- 文档编号:2119758
- 上传时间:2022-10-27
- 格式:PPT
- 页数:75
- 大小:963KB
水晶报表进阶.ppt
《水晶报表进阶.ppt》由会员分享,可在线阅读,更多相关《水晶报表进阶.ppt(75页珍藏版)》请在冰豆网上搜索。
水晶报表教材水晶报表教材1.水晶报表的基本语法水晶报表的基本语法2.水晶报表的分组和公式应用水晶报表的分组和公式应用一一CryStal语法基础知识语法基础知识1.CryStal语法不区分大小写但有一个例外是字符串如字符串”Hello”与”hello”是不相同的2.3.字段在公式中的显示字段在公式中的显示示例示例4.赋值(赋值(Crystal语法)语法)5.CryStal语法中的变量类型语法中的变量类型5.1.基本类型NumberVar数字型CurrencyVar货币型StringVar字符型BooleanVar布尔型DateVar日期型TimeVar时间型DateTimeVar日期时间型5.2.范围数据类型范围数据类型l范围旨在处理一系列的值。
l除布尔值以外,所有简单类型都可以使用范围类型。
即:
数字范围、货币范围、字符串范围、日期范围、时间范围和日期时间范围。
l可以使用To、_To、To_、_To_、UpTo、UpTo_、UpFrom和UpFrom_关键字生成范围。
l一般情况下,To用于有两个终结点的范围,UpTo和UpFrom用于半开半闭区间的范围(只有一个终结点)。
下划线用于表示终结点是否在范围内。
“数字范围数字范围”值示例值示例在公式中使用范围(在公式中使用范围(Crystal语法)语法)6.变量声明(变量声明(Crystal语法)语法)在公式中使用变量前必须声明它。
l变量可以保持某个给定类型的值。
允许的类型是七种简单类型(数字、货币、字符串、布尔值、日期、时间和日期时间),六种范围类型(数字范围、货币范围、字符串范围、日期范围、时间范围和日期时间范围)以及保持上述类型数组的变量。
这为变量提供了总共26种不同的类型。
l声明变量时,还指定了它的名称。
变量不能与任何对Crystal语法有效的函数、运算符或其它关键字同名。
例如,变量不能被命名为Sin、Mod或If,因为Sin是内置函数,Mod是内置运算符,而If是内置关键字。
当在公式工作室中键入公式时,内置函数、运算符或其它关键字的名称均以不同的颜色突出显示,因此很容易检查出变量名是否冲突。
l变量一经声明后,即可在公式中使用。
例如,可能希望为其赋以一个初始值:
LocalNumberVarx;/将x声明为“数字”变量x:
=10;/将10赋给x示例示例7.变量作用域(变量作用域(Crystal语法)语法)l变量作用域用于定义某个公式的变量可在多大程度上用于其它公式。
l在CrystalReports中有三种级别的作用域:
局部、全局和共享。
l每个变量都有一个作用域,该作用域在变量声明时指定。
7.1局部变量局部变量7.2全局变量(全局变量(Crystal语法)语法)7.3共享变量(共享变量(Crystal语法)语法)l共享变量使用相同的内存块,在整个主报表及其所有子报表中存储变量值。
因而,共享变量甚至比全局变量更普遍。
若要使用共享变量,请在主报表内的公式中声明它,如下所示:
lSharedNumberVarx:
=1000;l并在子报表内的公式中声明它,如下所示:
lSharedNumberVarx;l为使用共享变量,在共享变量可以在主报表和子报表之间传递之前,必须先声明该变量并给其赋值。
8.数组变量(数组变量(Crystal语法)语法)8.1使用数组变量(使用数组变量(Crystal语法)语法)8.2在在For循环中使用数组循环中使用数组二二水晶报表公式应用水晶报表公式应用1.公式的典型用途公式的典型用途2.公式语法基本规则公式语法基本规则l将文本字符串括在引号内。
l将参数括在括号内(在合适的位置)。
l引用的公式使用前导符号标识3.公式的种类公式的种类l在CrystalReports中有几种不同种类的公式:
报表、格式化、选定、搜索、运行总计条件和警报公式。
报表中的多数公式为报表公式和条件格式化公式。
3.1条件格式化公式条件格式化公式3.1.1应用一更改条件字体格式字段格式字段l格式字段突出显示专家格式化编辑器对话框格式化编辑器对话框点这里进入公式工作室3.1.2应用二应用二在第一页之后创建页脚在第一页之后创建页脚节专家Sectionexpert节专家对话框节专家对话框(sectionexpert)公式按钮3.1.3使用使用“突出显示专家突出显示专家”来有条件地格式化字来有条件地格式化字段段3.2创建条件运行总计创建条件运行总计是指编写公式是指编写公式只有符合公式中的条件的记只有符合公式中的条件的记录才进行运行总计录才进行运行总计l请将报表中所需字段从左到右置于“详细资料”节中l在“报表”菜单上单击“记录排序专家”先定一个字段对记录进行排序。
l选择“运行总计字段”并单击“新建”。
出现“创建运行总计字段”对话框。
l在“运行总计名称”框中输入名称。
l在“可用表和字段”框中突出显示要运算的字段并使用第一个箭头按钮将其移动到“要汇总的字段”框内l从“汇总类型”列表中选择“求和”。
l在对话框的“求值”部分,单击“使用公式”,然后单击“公式”按钮。
出现公式工作室,“运行总计条件公式”处于活动状态。
l在“公式”框中输入下列公式当公式具有正确的语法后,单击“保存并关闭”。
返回“创建运行总计字段”对话框。
l在对话框的“重置”部分,单击“从不”。
单击“确定”以保存运行总计字段。
程序返回“字段资源管理器”对话框。
l将运行总计字段置于报表“详细资料”节内。
公式公式formulafields的使用的使用1.点击formulafields再点击新增图标输入公式名称,单击UseEditor进入到公式工作室新增修改重命名删除2.工作工作室如下图工作工作室如下图,在写好公式后按在写好公式后按save保存保存然后按左上角然后按左上角close关闭工作室关闭工作室3.把把formulafields下的公式拖到设计页面下的公式拖到设计页面选择专家选择专家selectexpert的使用的使用当我们要对抓出来的数据进行过滤时就要用到选择专家来设置条件1.单击选择专家跳出如下对话框,选择要设置条件的字段单击ok选择专家2.在下图的第一个下拉框里选择条件在下图的第一个下拉框里选择条件在第二个下拉框里选择值在第二个下拉框里选择值点点showformula可以看到自动生成的代码可以看到自动生成的代码然后点然后点ok点这里选择条件点这里选择值参数字段参数字段ParameterField的使用的使用1.点击Parameterfields再点击新增图标输入参数名称,提示语言选择参数类型按ok,回到设计页面会发现参数字段下多了一个参数2.单击选择专家单击选择专家在出现的图一对话框中单击在出现的图一对话框中单击new按钮按钮会跳出图二会跳出图二对话框对话框在这里选择字段在这里选择字段,然后点然后点ok到图三到图三图一图二3.在图三可以看到新增的字段在图三可以看到新增的字段,然后选择条件和值然后选择条件和值在这里我们选择在这里我们选择的值就是刚才新增的参数的值就是刚才新增的参数,点击点击showformula可以看到自动生成的代可以看到自动生成的代码码,然后按然后按ok可以看到图四可以看到图四图三4.在图四中输入参数值在图四中输入参数值按按ok.在这个例子中可以输入具体的订单号在这个例子中可以输入具体的订单号码也可以输入订单中的字母带码也可以输入订单中的字母带*,例如例如DH*(区分大小写区分大小写)表示只要订表示只要订单号码中有单号码中有DH两个字母的订单都可以从库里抓出来两个字母的订单都可以从库里抓出来图四5.如果要变更条件如果要变更条件,可以随时按下工具列上的读取按钮可以随时按下工具列上的读取按钮出现如下对出现如下对话框话框,如果选择输入新的参数值如果选择输入新的参数值则会再次出现图四让你输入不同的则会再次出现图四让你输入不同的参有选举数参有选举数接着出现的报表内容就会随着新的参数值而不同接着出现的报表内容就会随着新的参数值而不同读取按钮数据的分组和排序数据的分组和排序示例示例:
做一份做一份PY3各栋计算机耗材采购和维修费用各栋计算机耗材采购和维修费用,要求如下要求如下l按栋别费用类别数据年月对数据进行过滤l按栋别商品代号进行分组l求出各个商品代号的数量和费用l求出各栋商品总数量和总费用制作过程如下制作过程如下:
1.确定要从以下table抓取资料a.TBL_APPLY_D(采购子档)b.VIEW_DEPT(单位数据视图)c.TBL_APPLY_M(采购主档)2.写出sql语句SELECTA.*,decode(A.APP_TYPE,A,申购费用,R,维修费用)ASAPP_DESC,B.*,C.VOU_DATEFROMTBL_APPLY_DA,VIEW_DEPTB,TBL_APPLY_MCWHEREA.APP_NO=C.APP_NOANDB.BRANCH_NO=C.FACT_NOANDB.ACCOUNT_NO=C.ACCOUNT_NOANDB.CONTRAST_NO=C.DEPT_NOORDERBYB.FACT_NO,B.BRANCH_NO,A.PROD_NO3.新开一个空白的报表新开一个空白的报表在数据库专家中连库后在数据库专家中连库后打开要打开要取数据的数据库取数据的数据库(G3WG),出现下图出现下图4.双击图中的双击图中的AddCommand出现下图出现下图,在左边的空白区在左边的空白区域输入要抓取数据的域输入要抓取数据的sql语句语句按按”ok”按钮按钮5.这时在数据库专家的这时在数据库专家的SelectTabels区域出现如下图所示区域出现如下图所示内容内容按按”确定确定”按钮按钮,6.页面回到水晶报表的设计页面页面回到水晶报表的设计页面点开页面右边点开页面右边FieldExpert下的下的DataBaseFields,会发现刚才的操作已生成了如图所示内容会发现刚才的操作已生成了如图所示内容这就这就是刚才的是刚才的sql语句在数据库中抓取的字段语句在数据库中抓取的字段7.选中选中Command下面的字段下面的字段,把报表中所需要的字段拖把报表中所需要的字段拖到报表设计区的到报表设计区的Detail节中节中,它会在它会在PageHeader区自动区自动生成和字段名相同的表头字段生成和字段名相同的表头字段8.按预览快捷图标按预览快捷图标可以查看刚才生成的可以查看刚才生成的数据数据如下如下(部分部分)9.对数据进行分组对数据进行分组,选择选择”insert”菜单下的菜单下的”Group”按钮或快捷图标按钮或快捷图标”insertgroup”,出现如下画面出现如下画面选择要分组的字段和排序方向选择要分组的字段和排序方向按确按确定按钮定按钮快捷图标快捷图标”insertgroup”,也可以按也可以按Report菜单下的菜单下的GroutExpert选项选项或按快捷图标或按快捷图标GroutExpert,出现如下画面出现如下画面,双击要分组的字段双击要分组的字段这个字段会出现在右边的这个字段会出现在右边的GroupBy区域区域按按ok按钮按钮快捷图快捷图标标GroutExpert会发现在右边的会发现在右边的GroupNameFieldsg下面会出现刚才设的分组字段下面会出现刚才设的分组字段同时在报表设计区会出现同时在报表设计区会出现GroupHeader#1的节的节在它的内容区在它的内容区出现出现Group#1Name此时观察预览页面此时观察预览页面会发现在报表中的数会发现在报表中的数据是按栋别排放的据是按栋别排放的10.按第按第9步的操作再设置一个分组字段步的操作再设置一个分组字段prod_no,再去观察预览页面再去观察预览页面发现报表的内容是栋别和商品代号排放的发现报表的内容是栋别和商品代号排放的11.下面对数据进行筛选下面对数据进行筛选首先右击首先右击ParameterFields,在快捷菜单中在快捷菜单中单击单击New(新
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 水晶 报表 进阶