水晶报表进阶

上传人:dja****22 文档编号:243406553 上传时间:2024-09-22 格式:PPT 页数:75 大小:1.44MB
返回 下载 相关 举报
水晶报表进阶_第1页
第1页 / 共75页
水晶报表进阶_第2页
第2页 / 共75页
水晶报表进阶_第3页
第3页 / 共75页
点击查看更多>>
资源描述
按一下以编辑母片标题样式,按一下以编辑母片,第二层,第三层,第四层,第五层,*,水晶报表内部教育训练教材,水晶报表的基本语法,水晶报表的分组和公式应用,系统工程课,WEB,组,制作时间,2007/01/12,1,一,CryStal,语法基础知识,1.CryStal语法不区分大小写但有一个例外是字符串如字符串”Hello”与”hello”是不相同的,2.,2,3.,字段在公式中的显示,3,示例,4,4.赋值(Crystal 语法),5,5.CryStal,语法中的变量类型,5.1.,基本类型,NumberVar 数字型,CurrencyVar 货币型,StringVar 字符型,BooleanVar 布尔型,DateVar 日期型,TimeVar 时间型,DateTimeVar 日期时间型,6,5.2.,范围数据类型,范围旨在处理一系列的值。,除布尔值以外,所有简单类型都可以使用范围类型。即:数字范围、货币范围、字符串范围、日期范围、时间范围和日期时间范围。,可以使用 To、_To、To_、_To_、UpTo、UpTo_、UpFrom 和 UpFrom_ 关键字生成范围。,一般情况下,To 用于有两个终结点的范围,UpTo 和 UpFrom 用于半开半闭区间的范围(只有一个终结点)。下划线用于表示终结点是否在范围内。,7,“数字范围”值示例,8,在公式中使用范围(Crystal 语法),9,6.,变量声明(,Crystal,语法),在公式中使用变量前必须声明它。,变量可以保持某个给定类型的值。允许的类型是七种简单类型(数字、货币、字符串、布尔值、日期、时间和日期时间),六种范围类型(数字范围、货币范围、字符串范围、日期范围、时间范围和日期时间范围)以及保持上述类型数组的变量。这为变量提供了总共 26 种不同的类型。,声明变量时,还指定了它的名称。变量不能与任何对,Crystal,语法有效的函数、运算符或其它关键字同名。例如,变量不能被命名为,Sin,、,Mod,或,If,,因为,Sin,是内置函数,,Mod,是内置运算符,而,If,是内置关键字。当在公式工作室中键入公式时,内置函数、运算符或其它关键字的名称均以不同的颜色突出显示,因此很容易检查出变量名是否冲突。,变量一经声明后,即可在公式中使用。例如,可能希望为其赋以一个初始值:,Local NumberVar x; /将 x 声明为“数字”变量,x := 10; /,将,10,赋给,x,10,示例,11,7.变量作用域(Crystal 语法),变量作用域用于定义某个公式的变量可在多大程度上用于其它公式。,在 Crystal Reports 中有三种级别的作用域:局部、全局和共享。,每个变量都有一个作用域,该作用域在变量声明时指定,。,12,7.1局部变量,13,7.2全局变量(Crystal 语法),14,7.3共享变量(Crystal 语法),共享变量使用相同的内存块,在整个主报表及其所有子报表中存储变量值。因而,共享变量甚至比全局变量更普遍。若要使用共享变量,请在主报表内的公式中声明它,如下所示:,Shared NumberVar x := 1000;,并在子报表内的公式中声明它,如下所示:,Shared NumberVar x;,为使用共享变量,在共享变量可以在主报表和子报表之间传递之前,必须先声明该变量并给其赋值。,15,8.,数组变量(,Crystal,语法),16,8.1,使用数组变量(,Crystal,语法),17,8.2在 For 循环中使用数组,18,二,水晶报表公式应用,1.,公式的典型用途,19,2.,公式语法基本规则,将文本字符串括在引号内。,将参数括在括号内(在合适的位置)。,引用的公式使用前导,符号标识,20,3.,公式的种类,在 Crystal Reports 中有几种不同种类的公式:报表、格式化、选定、搜索、运行总计条件和警报公式。报表中的多数公式为报表公式和条件格式化公式。,21,3.1,条件格式化公式,3.1.1,应用一,更改条件字体,22,格式字段,格式字段,突出显示专家,23,格式化编辑器对话框,点这里进入公式工作室,24,3.1.2,应用二,在第一页之后创建页脚,25,节专家,Section expert,26,节专家对话框(section expert),公式按钮,27,3.1.3使用“突出显示专家”来有条件地格式化字段,28,29,3.2,创建条件运行总计,是指编写公式,只有符合公式中的条件的记录才进行运行总计,请将报表中所需字段从左到右置于“详细资料”节中,在“报表”菜单上单击“记录排序专家”,先定一个字段对记录进行排序。,选择“运行总计字段”并单击“新建”。 出现“创建运行总计字段”对话框。,在“运行总计名称”框中输入名称。,在“可用表和字段”框中突出显示要运算的字段,并使用第一个箭头按钮将其移动到“要汇总的字段”框内,从“汇总类型” 列表中选择“求和”。,在对话框的“求值”部分,单击“使用公式”,然后单击“公式”按钮。 出现公式工作室,“运行总计条件公式”处于活动状态。,在“公式”框中输入下列公式当公式具有正确的语法后,单击“保存并关闭”。 返回“创建运行总计字段”对话框。,在对话框的“重置”部分,单击“从不”。单击“确定”以保存运行总计字段。 程序返回“字段资源管理器”对话框。,将运行总计字段置于报表“详细资料”节内。,30,公式formula fields的使用,1.点击formula fields再点击新增图标输入公式名称,单击Use Editor进入到公式工作室,新增,修改,重命名,删除,31,2.,工作工作室如下图,在写好公式后按,save,保存,然后按左上角,close,关闭工作室,32,3.把formula fields下的公式拖到设计页面,33,选择专家select expert的使用,当我们要对抓出来的数据进行过滤时,就要用到选择专家来设置条件,1.,单击选择专家,跳出如下对话框,选择要设置条件的字段,单击,ok,选择专家,34,2.,在下图的第一个下拉框里选择条件,在第二个下拉框里选择值,点,show formula,可以看到自动生成的代码,然后点,ok,点这里选择条件,点这里选择值,35,参数字段Parameter Field的使用,1.,点击,Parameter fields,再点击新增图标,输入参数名称,提示语言,选择参数类型,按,ok,回到设计页面,会发现参数字段下多了一个参数,36,2.,单击选择专家,在出现的图一对话框中单击,new,按钮,会跳出图二对话框,在这里选择字段,然后点,ok,到图三,图一,图二,37,3.,在图三可以看到新增的字段,然后选择条件和值,在这里我们选择的值就是刚才新增的参数,点击,show formula,可以看到自动生成的代码,然后按,ok,可以看到图四,图三,38,4.,在图四中输入参数值,按,ok.,在这个例子中可以输入具体的订单号码也可以输入订单中的字母带*,例如,DH*(,区分大小写,),表示只要订单号码中有,DH,两个字母的订单都可以从库里抓出来,图四,39,5.,如果要变更条件,可以随时按下工具列上的读取按钮,出现如下对话框,如果选择输入新的参数值,则会再次出现图四让你输入不同的参有选举数,接着出现的报表内容就会随着新的参数值而不同,读取按钮,40,数据的分组和排序,41,示例,:,做一份,PY3,各栋计算机耗材采购和维修费用,要求如下,按栋别,费用类别,数据年月对数据进行过滤,按栋别,商品代号进行分组,求出各个商品代号的数量和费用,求出各栋商品总数量和总费用,42,制作过程如下,:,1.,确定要从以下,table,抓取资料,a.TBL_APPLY_D (采购子档),b.VIEW_DEPT(单位数据视图),c.TBL_APPLY_M(采购主档),2.,写出,sql,语句,SELECT A.*,decode(A.APP_TYPE,A,申购费用,R,维修费用) AS,APP_DESC ,B.*,C.VOU_DATE,FROM TBL_APPLY_D A,VIEW_DEPT B,TBL_APPLY_M C,WHERE A.APP_NO=C.APP_NO,AND B.BRANCH_NO=C.FACT_NO,AND B.ACCOUNT_NO=C.ACCOUNT_NO,AND B.CONTRAST_NO=C.DEPT_NO,ORDER BY B.FACT_NO,B.BRANCH_NO,A.PROD_NO,43,3.,新开一个空白的报表,在数据库专家中连库后,打开要取数据的数据库,(G3WG),出现下图,44,4.,双击图中的,Add Command,出现下图,在左边的空白区域输入要抓取数据的,sql,语句,按”,ok”,按钮,45,5.,这时在数据库专家的,Select Tabels,区域出现如下图所示内容,按”确定”按钮,46,6.,页面回到水晶报表的设计页面,点开页面右边,Field Expert,下的,DataBase Fields,会发现刚才的操作已生成了如图所示内容,这就是刚才的,sql,语句在数据库中抓取的字段,47,7.,选中,Command,下面的字段,把报表中所需要的字段拖到报表设计区的,Detail,节中,它会在,Page Header,区自动生成和字段名相同的表头字段,48,8.,按预览快捷图标,可以查看刚才生成的数据,如下,(,部分,),49,9.,对数据进行分组,选择”,insert”,菜单下的”,Group”,按钮或快捷图标”,insert group”,出现如下画面,选择要分组的字段和排序方向,按确定按钮,快捷图标”insert group”,50,也可以按Report菜单下的Grout Expert选项或按快捷图标Grout Expert,出现如下画面,双击要分组的字段这个字段会出现在右边的Group By区域按ok按钮,快捷图标Grout Expert,51,会发现在右边的Group Name Fieldsg下面会出现刚才设的分组字段同时在报表设计区会出现Group Header#1的节在它的内容区出现Group #1 Name,52,此时观察预览页面,会发现在报表中的数据是按栋别排放的,53,10.,按第,9,步的操作再设置一个分组字段,prod_no,再去观察预览页面,发现报表的内容是栋别和商品代号排放的,54,11.,下面对数据进行筛选,首先右击,Parameter Fields,在快捷菜单中单击,New(,新建,),出现如下画面,在,Name,处输入要定义的参数名称”栋别”,选好参数值的类型,(Value type),按,ok,按钮,55,12.,重复第,11,步的操作,再定义两个参数,”,费用类别”与”数据年月”,56,12.,在,Parameter Fields,下可以发现刚才新建的三个参数字段,我们要利用这些参数生成选择条件的公式来对数据进行过滤,57,13.,打开选择专家,选择,Command,下的,fact_no,字段,按,ok,按钮,58,14.,选择下拉框中的比较条件”,is like”,选择右边下拉框中的比较值,可以看到这个下拉框中有我们刚才生成的三个参数字段,选中,?,栋别,点击,Show Formula,可以看到刚才的操作生成的公式,.,59,15,在上一步的第二个图中选择,new,按钮或,new,标签,进行第二个参数”费用类别”和第三个参数”数据年月”的设定,画面变成如下,点,ok,按钮,60,16.,现在我们来进行预览,这时页面提示要用户输入参数值,分别对三个参数进行设定,按,ok,按钮,61,这时可以看到抓取数据范围缩小了,62,17.,如果想重新设定参数值,按,Report,菜单下的,Refresh Report Data,选项,出现如下画面,选第二个选项,按,ok,按钮,出面第,16,步的画面,可对参数值重新设定,63,18.,下面来对分组的数据进行数量求和,在这里要设定两个公式,右击设计页面右边的,Formula Field,在出现快捷菜单上选择,New,出现如下画面,输入公式名称,ZQTY,按,Use Editor,进入到公式工作室,64,19.,在工作室的文本窗口输入公式,或者在函数区找到要使用的函数,然后在报表字段找到相应的字段作为函数的参数,按”,X+2”,按钮调试公式,如果公式没有错误,按”,save and close”,按钮关闭此窗口,函数区,运算符区,公式文本区,报表字段区,65,20.按同样的操作设计另一个求金额的公式ZMONEY(后面会用到)在Formula Field会发现刚才所设的两个公式把第二个公式拖到如图所示位置(Group Footer#2),66,进入预览页面,发现对相同的商品代号已求出了它的总数量,67,21.使用运行总计求所有商品的总金额和相同商品的小计金额,在报表设计页面右边右击Running Total Fields,在出现的快捷菜单中选择New(新建)出现如下画面,在Running Total Name处给运行总计字段命名然后从左边的Available Tables and Fields选中ZMONEY公式,按ok按钮,68,22.,再新建一个运行总计,取名为,ProNoTotalMoney,其它作如下设置,按,ok,按钮,69,此时可以在Running Total Fields下看到刚才新增的运行总计字段把它们拖到设计页面如图所示位置,70,预览页面,可以看到算出了每种商品所用的总金额,在报表的最后面能看到金额总计值,71,22.,现在实现”创建条件运行总计”,右击上一步创建的运行总计字段,totalMoney,在快捷菜单中选择,edit,在出现的对话框中把,Evaluate,下的选项改为”,use a fomula”,72,23.,单击,X+2,按钮进入到公式工作室,输入如图所示公式,确认公式没有语法错误后保存并关闭窗口,又回到,22,步的窗口,按这个窗口的,Ok,按钮,73,24.,把这个新的运行总计字段拖到如图所示位置,拖到这里,74,25.,按,file,菜单下的,export,把制成的报表输出为,pdf,文件,存盘后,打开,pdf,文件,可以看到报表只对公式中设定的栋别的商品进行了总金额的计算,其它的没有计算,如下图,75,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!