《水晶报表进阶》PPT课件.ppt

上传人:xin****828 文档编号:6785092 上传时间:2020-03-04 格式:PPT 页数:75 大小:1.57MB
返回 下载 相关 举报
《水晶报表进阶》PPT课件.ppt_第1页
第1页 / 共75页
《水晶报表进阶》PPT课件.ppt_第2页
第2页 / 共75页
《水晶报表进阶》PPT课件.ppt_第3页
第3页 / 共75页
点击查看更多>>
资源描述
水晶报表内部教育训练教材 水晶报表的基本语法水晶报表的分组和公式应用宋彩云系统工程课WEB组制作时间 2007 01 12 一 CryStal语法基础知识 1 CryStal语法不区分大小写 但有一个例外是字符串 如字符串 Hello 与 hello 是不相同的2 3 字段在公式中的显示 示例 4 赋值 Crystal语法 5 CryStal语法中的变量类型 5 1 基本类型NumberVar数字型CurrencyVar货币型StringVar字符型BooleanVar布尔型DateVar日期型TimeVar时间型DateTimeVar日期时间型 5 2 范围数据类型 范围旨在处理一系列的值 除布尔值以外 所有简单类型都可以使用范围类型 即 数字范围 货币范围 字符串范围 日期范围 时间范围和日期时间范围 可以使用To To To To UpTo UpTo UpFrom和UpFrom 关键字生成范围 一般情况下 To用于有两个终结点的范围 UpTo和UpFrom用于半开半闭区间的范围 只有一个终结点 下划线用于表示终结点是否在范围内 数字范围 值示例 在公式中使用范围 Crystal语法 6 变量声明 Crystal语法 在公式中使用变量前必须声明它 变量可以保持某个给定类型的值 允许的类型是七种简单类型 数字 货币 字符串 布尔值 日期 时间和日期时间 六种范围类型 数字范围 货币范围 字符串范围 日期范围 时间范围和日期时间范围 以及保持上述类型数组的变量 这为变量提供了总共26种不同的类型 声明变量时 还指定了它的名称 变量不能与任何对Crystal语法有效的函数 运算符或其它关键字同名 例如 变量不能被命名为Sin Mod或If 因为Sin是内置函数 Mod是内置运算符 而If是内置关键字 当在公式工作室中键入公式时 内置函数 运算符或其它关键字的名称均以不同的颜色突出显示 因此很容易检查出变量名是否冲突 变量一经声明后 即可在公式中使用 例如 可能希望为其赋以一个初始值 LocalNumberVarx 将x声明为 数字 变量x 10 将10赋给x 示例 7 变量作用域 Crystal语法 变量作用域用于定义某个公式的变量可在多大程度上用于其它公式 在CrystalReports中有三种级别的作用域 局部 全局和共享 每个变量都有一个作用域 该作用域在变量声明时指定 7 1局部变量 7 2全局变量 Crystal语法 7 3共享变量 Crystal语法 共享变量使用相同的内存块 在整个主报表及其所有子报表中存储变量值 因而 共享变量甚至比全局变量更普遍 若要使用共享变量 请在主报表内的公式中声明它 如下所示 SharedNumberVarx 1000 并在子报表内的公式中声明它 如下所示 SharedNumberVarx 为使用共享变量 在共享变量可以在主报表和子报表之间传递之前 必须先声明该变量并给其赋值 8 数组变量 Crystal语法 8 1使用数组变量 Crystal语法 8 2在For循环中使用数组 二 水晶报表公式应用 1 公式的典型用途 2 公式语法基本规则 将文本字符串括在引号内 将参数括在括号内 在合适的位置 引用的公式使用前导 符号标识 3 公式的种类 在CrystalReports中有几种不同种类的公式 报表 格式化 选定 搜索 运行总计条件和警报公式 报表中的多数公式为报表公式和条件格式化公式 3 1条件格式化公式 3 1 1应用一 更改条件字体 格式字段 格式字段 突出显示专家 格式化编辑器对话框 点这里进入公式工作室 3 1 2应用二 在第一页之后创建页脚 节专家Sectionexpert 节专家对话框 sectionexpert 公式按钮 3 1 3使用 突出显示专家 来有条件地格式化字段 3 2创建条件运行总计 是指编写公式 只有符合公式中的条件的记录才进行运行总计 请将报表中所需字段从左到右置于 详细资料 节中在 报表 菜单上单击 记录排序专家 先定一个字段对记录进行排序 选择 运行总计字段 并单击 新建 出现 创建运行总计字段 对话框 在 运行总计名称 框中输入名称 在 可用表和字段 框中突出显示要运算的字段 并使用第一个箭头按钮将其移动到 要汇总的字段 框内从 汇总类型 列表中选择 求和 在对话框的 求值 部分 单击 使用公式 然后单击 公式 按钮 出现公式工作室 运行总计条件公式 处于活动状态 在 公式 框中输入下列公式 当公式具有正确的语法后 单击 保存并关闭 返回 创建运行总计字段 对话框 在对话框的 重置 部分 单击 从不 单击 确定 以保存运行总计字段 程序返回 字段资源管理器 对话框 将运行总计字段置于报表 详细资料 节内 公式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各栋计算机耗材采购和维修费用 要求如下 按栋别 费用类别 数据年月对数据进行过滤按栋别 商品代号进行分组求出各个商品代号的数量和费用求出各栋商品总数量和总费用 制作过程如下 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 NO 3 新开一个空白的报表 在数据库专家中连库后 打开要取数据的数据库 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 新建 出现如下画面 在Name 处输入要定义的参数名称 栋别 选好参数值的类型 Valuetype 按ok按钮 12 重复第11步的操作 再定义两个参数 费用类别 与 数据年月 12 在ParameterFields下可以发现刚才新建的三个参数字段 我们要利用这些参数生成选择条件的公式来对数据进行过滤 13 打开选择专家 选择Command下的fact no字段 按ok按钮 14 选择下拉框中的比较条件 islike 选择右边下拉框中的比较值 可以看到这个下拉框中有我们刚才生成的三个参数字段 选中 栋别 点击ShowFormula 可以看到刚才的操作生成的公式 15在上一步的第二个图中选择new按钮或new标签 进行第二个参数 费用类别 和第三个参数 数据年月 的设定 画面变成如下 点ok按钮 16 现在我们来进行预览 这时页面提示要用户输入参数值 分别对三个参数进行设定 按ok按钮 这时可以看到抓取数据范围缩小了 17 如果想重新设定参数值 按Report菜单下的RefreshReportData选项 出现如下画面 选第二个选项 按ok按钮 出面第16步的画面 可对参数值重新设定 18 下面来对分组的数据进行数量求和 在这里要设定两个公式 右击设计页面右边的FormulaField 在出现快捷菜单上选择New 出现如下画面 输入公式名称ZQTY 按UseEditor 进入到公式工作室 19 在工作室的文本窗口输入公式 或者在函数区找到要使用的函数 然后在报表字段找到相应的字段作为函数的参数 按 X 2 按钮调试公式 如果公式没有错误 按 saveandclose 按钮关闭此窗口 函数区 运算符区 公式文本区 报表字段区 20 按同样的操作设计另一个求金额的公式ZMONEY 后面会用到 在FormulaField会发现刚才所设的两个公式 把第二个公式拖到如图所示位置 GroupFooter 2 进入预览页面 发现对相同的商品代号已求出了它的总数量 21 使用运行总计求所有商品的总金额和相同商品的小计金额 在报表设计页面右边右击RunningTotalFields 在出现的快捷菜单中选择New 新建 出现如下画面 在RunningTotalName处给运行总计字段命名 然后从左边的AvailableTablesandFields选中ZMONEY公式 按ok按钮 22 再新建一个运行总计 取名为ProNoTotalMoney 其它作如下设置 按ok按钮 此时可以在RunningTotalFields下看到刚才新增的运行总计字段 把它们拖到设计页面如图所示位置 预览页面 可以看到算出了每种商品所用的总金额 在报表的最后面能看到金额总计值 22 现在实现 创建条件运行总计 右击上一步创建的运行总计字段totalMoney 在快捷菜单中选择edit 在出现的对话框中把Evaluate下的选项改为 useafomula 23 单击X 2按钮进入到公式工作室 输入如图所示公式 确认公式没有语法错误后保存并关闭窗口 又回到22步的窗口 按这个窗口的Ok按钮 24 把这个新的运行总计字段拖到如图所示位置 拖到这里 25 按file菜单下的export 把制成的报表输出为pdf文件 存盘后 打开pdf文件 可以看到报表只对公式中设定的栋别的商品进行了总金额的计算 其它的没有计算 如下图
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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