【文档说明】VisualFoxPro报表设计演示稿-PPT精选.ppt,共(70)页,1.147 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-3266.html
以下为本文档部分文字说明:
VisualFoxPro数据库、报表设计教程高得软件教程目录第三章、vfp数据表、字段类型第一章、报表设计器应用第二章、vfp常用函数第一章报表设计器应用1创预览和打印报表创建报表1.创建报表报表简述•报表是将需要的数据表格化的重要工具,包括两个基本组成
部分:数据源和布局。•报表布局定义了报表的打印格式。数据源通常是数据库的表,也可以是视图、查询或临时表;•创建报表的过程包括定义报表的样式并指定数据源,系统将报表样式保存在报表文件中,报表文件的扩展名为.frx
。(1)利用报表设计器创建报表报表设计器的启动可用下述三个方法之一打开“报表设计器”1)在“项目管理器”中选择“文档”选项卡中的“报表”,单击【新建】按钮,在随后弹出的“新建报表”对话框中,单击【新建报表】按钮。
2)使用“文件”菜单的“新建”菜单项,打开“新建”对话框,在对话框的“文件类型”栏中选择“报表”,单击“新建文件”按钮。3)在命令窗口中输入:CREATEREPORT<报表文件名>•也可用命令打开报表设计器:•格式:ModifyReport<报表名>⒈用“快速报表”命令创
建报表•方法:打开“报表设计器”,在“报表”菜单中选择“快速报表”命令。⒉报表设计工具栏•系统在打开“报表设计器”时,会同时打开“报表设计器”工具栏。设置报表数据源•一般情况下报表总是与一定的数据源相联系的。
•方法:打开“报表设计器”,右击选择“数据环境”命令,在“数据环境设计器”中右击,选择“添加”命令。•在数据环境中的数据源,将在每一次运行报表时被自动打开。默认情况下,“报表设计器”显示三个带区:页标头、细节和页脚注。报表带区(r
eportband)是指报表中的一块区域,可以包含文本、来自表字段中的数据、计算值、用户自定义函数、图片、线条等。报表上可以有各种不同类型的带区,每一个带区的底部有一个分隔栏。带区名称显示在靠近蓝箭头的栏上,蓝箭头指示该带区位于栏之上,而不是之下。利
用不同的报表带区,可以控制数据在报表页面上的打印位置。报表布局•利用“报表向导”或“快速报表”都可以生成一个基本报表,但是,所生成的报表不一定能满足设计的要求,用户可以在“报表设计器”里对报表布局进行更深入的设计。•修改报表布局包括:设置报表数据环境、修改报表带区、修改或添加
控件、调整控件位置和大小、定义字段格式、更改报表中的字体、添加线条、矩形和圆形、向报表添加图片以及向报表添加注视、在布局上分组数据等。报表带区•认识报表的结构。有些是重复的,有些只显示一次。•带区的作用主要是控制数据在页面上的打印位置;在
打印或预览报表时,系统会以不同的方式处理各个带区的数据,例如:对于“标题”带区,系统只在一个报表中打印一次该带区的内容。•在每一个报表里,都可以添加或删除若干个带区。工资发放表发放日期:2019年11
月28制表人:王晓华主管:张长江表头部分主体部分,多条记录重复表尾部分在认识一个报表的各部分以后,才能有效地对应到报表设计器中的各带区⑴添加标题或总结带区:执行“报表”菜单中的“标题/总结”命令,选中“标题带区”复选框。•表示向表中添加一个“标题”带区,如果希望把标题内容单独打印一页,
还要选中“新页”,同样可以设置“总结带区”。•系统自动把“标题”带区设置在报表顶部,而把“总结”带区设置在报表尾部。⑵添加组标头或组注脚带区:单击“报表”菜单中的“数据分组”命令。弹出“数据分组”对话框,在对话框中输入分组表达式,报表则添加多个“组标头”带区,同样可设置“组注脚”带区。⑶调
整带区高度:双击需要调整高度的带区标识栏,屏幕显示一个对话框,在对话框的“高度”框中可以调整高度;也可用拖动法改变。“带区高度保持不变”复选框:(双击带区)选中可以防止报表带区因为容纳过长的数据而移动。⒍设置报表变量用户可以在报表中创建变量,保
存打印报表时所计算的结果。使用“报表”菜单中的“变量”命令,可以添加新的变量,改变或删除已有变量,或更改变量的计算顺序。当变量建立完成后,要将变量加入到报表中去,可按以下步骤操作:⑴在“报表设计器”中,选择“报表控件”工具栏的“域控件”按钮。⑵在报表中选定要添加域控件的位置。⑶在
弹出的“报表表达式”对话框中,在“表达式”框输入新添加的变量,或单击其右边的按钮,在弹出的“表达式生成器”中选中新建的变量。⑷单击“确定”按钮,则新变量被添加到报表的指定位置上。⒏页面设计方法:单击“文件”菜单中的“页面设置”命令。在“页面设置”设置对话框中,设置报表的列数、列宽、
页面布局、对象间隔、页边距;可以单击“打印设置”按钮,在弹出的“打印设置”对话框中对打印纸张、打印方向等进行设置。与所用的打印机支持的纸宽有关系。⒐报表控件⑴报表控件工具栏默认情况下系统在打开一个“报表设计器”的同时会打开“报表控件”工具栏,在
设计报表时要经常使用该工具栏所提供的功能。2.“报表设计器”工具栏和“报表控件”工具栏在报表的设计环境中,最常用的控件工具是“报表设计器”工具栏和“报表控件”工具栏。如果在启动“报表设计器”时没有出现如图的两个小窗体,可通过
“显示”菜单下的“工具栏”选项来打开“工具栏”窗口。“报表设计器”工具栏和“报表控件”工具栏所包括的按钮及其说明分别见下表图“报表控件”和“报表设计器”控件⑵域控件•用于在报表中添加一个数据项,可以是表中的一字段,也可以是一个表达式,类似一个文本框。•简单方法:往报表中
添加表或视图的字段时,可以打开报表的“数据环境”选中表或视图,然后把相关的字段拖放到指定的带区里。⑶标签控件•标签控件用于输入报表的标题、字段的说明性文字等。⑷OLE对象•一个OLE对象,可以是图片、声音、文档等,在VisualFoxPro的表
中可以包含这些对象,这就意味着报表应该能够处理OLE对象。•人员的照片、商品的商标等,都可以以图片的形式添加到报表中去。⑸线条、矩形和圆型•为了提高报表的可视效果,可以使用“报表控件”工具栏提供的添加线条、矩形和圆形工具实现。三、报表分组•设计好报表基本布局后,可
以通过指定字段或字段表达式来给记录分组,分组显示可以使报表更加便于阅读。使用“报表设计器”可以为报表添加一个或多个组、更改组的顺序、重复组标头以及更改或删除组带区等。⒈建立单个组⑴在“报表”菜单中选择“数据分组”命令,弹出“数据分组”对话框。⑵在对话框
的“分组表达式”框中输入表达式,或单击其右侧的按钮,在弹出的“表达式生成器”中创建分组表达式。⑶在“组属性”框中,选定需要设置的属性,单击“确定”按钮。⒉建立多个组⑴在“报表”菜单中选择“数据分组”命令,弹出“
数据分组”对话框。⑵在对话框的“分组表达式”框中输入多个表达式,或单击其右侧的按钮,在弹出的“表达式生成器”中创建多个分组表达式。⑶在“组属性”框中,选定需要设置的属性,单击“确定”按钮。⒊更改组带区及分组顺序•如果要修改组带区,可以选择“报表”菜单中的“数据分组”命令,在弹出的“数据分组”对话
框中,插入或删除分组表达式,即添加删除组带区;也可以用鼠标拖动分组表达式左边的按钮,将分组表达式移动到新的位置上,即更改分组顺序。四、编辑报表⒈添加报表控件•前面已经讲过可以用“显示|数据环境”命令,然后选择需要的字段拖到报表中,也可以“报表控件”工具添加。此时出现页标头、细节、页注脚3个带区
。此带区为表头的名称,可改写此带区是取表中相应字段的值为便于输入报表名称:“价格情况表”,选定“报表”菜单中的“标题/总结”,添加一个标题带区,报表设计器中最多可有9个带。选中此按钮可在标题带区中定位,并输入标题选中此按钮可在带区中划表格线若要打印报表只需选择“报表”菜单中的“运行报表”或单击右
键选择“打印”。若要预览,则单击右键,选择“预览”。此时可在屏幕显示报表如下:⒉报表控件操作⑴选择、移动和调整控件的大小•选择:单击控件,选中一个控件;•在控件周围拖动鼠标,用虚框包围控件,或按住Shift键逐个单击控件,则选中多个控件。•
移动:选中控件,拖到报表带区中的新位置。•调整:选中控件,拖动边框。⑵复制、删除报表控件•复制:选中控件,单击“编辑—复制——粘贴”命令。•复制的控件显示在原控件的下方,然后将其拖动到报表的合适位置。•删除:选中控件,单击“
编辑|剪切”命令,或按Del键。⒊格式化控件⑴定义控件格式•方法:•双击域控件,弹出“报表表达式”对话框,单击“格式”文本框右边的按钮,弹出“格式”对话框,在对话框中选择字段类型(字符型、数值型、日期型),再选择适当的格式“编辑选项”。⑵调整控件中的文本•该调整并不改变控件在
报表中的位置,只用于改变控件中的内容在控件中的对齐方式。•方法:选中控件,单击“格式—文本对齐方式”,从子菜单中选择需要的对齐方式。⑶改变字体•用以改变每个域控件的文本或标签控件的字体和大小,以及改变整个报表的
默认字体。•方法:选择控件,单击“格式—字体”命令。⒋改变控件颜色•在报表设计器中,可以改变域控件、标签控件、直线或矩形的颜色。•方法:选择要改变颜色的控件,在调色板中选择所需的前景和背景颜色。五、报表输出⒈报表预览•在“报表设计器”设计报
表的过程中,可以随时预览报表,其具体操作如下:•单击“显示—预览”命令,或单击“常用”工具栏上的“打印预览”按钮,或用右键单击在弹出的快捷菜单中选择“预览”,屏幕将显示报表的页面样式,并弹出“打印预览”工具栏。⒉报表打印•要打印报表时,首先要打开报表,然后在系统菜单上
单击“文件|打印”命令,或在报表快捷菜单上选择“打印”命令,或在“打印预览”工具栏上选择“打印”按钮,屏幕弹出“打印”对话框。•在“打印”对话框中,可以设置“打印范围”和“打印份数”。单击“属性”按钮,会弹出“属性”对话框,在对话框中可以
设置纸张尺寸大小、方向、纸张来源和打印精度等选项。3、命令法调用报表•有时,需要用命令法调用一个报表,如在一个菜单中,调用一个报表等。•命令法如下:•Reportform报表文件名preview——打印预览•Reportform报表文件名toprinter——打印•Reportform报表文件
名toprinterprompt——打印对话框VFP常用函数IIF、ROUND、INTSUBSTR、LEFT、RIGHT、ALLTRIM、LENCTOD、DTOC、CTOT、TTOC、TTODEOF、EMPTY、SPACELEN()函数返回字
符表达式中字符的数目。LEN(cExpression)返回值数值型参数cExpression指定字符表达式,len()函数返回其字符数目。备注len()函数可用于确定字符表达式的长度。示例LEN('con')=3
LEN('con')=4LEN('中')=2ALLTRIM()函数删除指定字符表达式的前后空格符,并且返回删除空格符后的字符串。ALLTRIM(cExpression)返回值字符型参数cExpression指定删除首尾空格的字符表
达式。备注使用ALLTRIM()函数能确保删除用户输入数据首尾的空格字符。示例ALLTRIM('con')='con')ALLTRIM('con')='con'ALLTRIM('中')='中'ALLTRIM('中')='中'LEFT()函数从字符表达式最左边一个字符开始返回指定
数目的字符。LEFT(cExpression,nExpression)返回值字符型参数cExpression指定字符表达式,left()函数从中返回字符。nExpression指定从字符表达式中返回的字符个数。若nExpression的值大于cExpression的
长度,则返回字符表达式的全部字符。如果nExpression为负值或0,则返回空字符串。示例LEFT('Read',3)&&显示ReaRIGHT()函数从一个字符串的最右边开始返回指定数目的字符。RIGHT(cExpression,nCh
aracters)返回值字符型参数cExpression指定一个字符表达式,right()函数从中返回最右边的若干字符。nCharacters指定要从字符串中返回的字符数目。如果nCharacters大于cExpression的长度,right()函数返回整个字符表达式。如果nCharaters
为负数或0,right()函数返回空字符串。备注返回的字符从右边最后一个字符开始,包含指定数目的字符。示例RIGHT('Read',2)&&显示adSUBSTR()函数从给定的字符表达式或备注字段中返回字符串。SUBSTR(cExpression,nStartPosition[,nCha
ractersReturned])返回值字符型参数cExpression指定要从其中返回字符串的字符表达式或备注字段。nStartPosition指定返回的字符串在字符表达式或备注字段cExpression中的位置,cExpression
的第一个字符是位置1。如果TALK设置为ON,并且nStartPosition大于cExpression中的字符数目,那么VisualFoxPro产生错误信息;如果TALK设置为OFF,那么返回一个空字符串。nCharactersReturned从cExpress
ion中返回的字符数目。如果省略了nCharactersReturned参数,那么返回字符表达式结束前的全部字符。备注SUBSTR()从一个字符表达式或备注字段中返回一个字符串。该字符串起始于字符表达式或备注字段的指定位置,到指
定数目字符结束。示例STORE'abcdefghijklm'TOmystringCLEAR?SUBSTR(mystring,1,5)&&显示abcde?SUBSTR(mystring,6)&&显示fghijklmROUND()函数返回四舍五入取整到
指定小数位数的数值表达式。ROUND(nExpression,nDecimalPlaces)返回值数值型参数nExpression指定要圆整的数值表达式。nDecimalPlaces指定nExpression圆整到的小数位数。如果nDecima
lPlaces为负数,则ROUND()返回的结果在小数点左端包含nDecimalPlaces个零。例如,如果nDecimalPlaces为-2,那么小数点左端的第一和第二个数字(个位和十位)均为0。备注ROUND()返回的值有nDecimalPlaces个小数位。ROUND()忽略由SETD
ECIMALS指定的小数位。示例?ROUND(1234.1962,3)&&显示1234.196?ROUND(1234.1962,2)&&显示1234.20?ROUND(1234.1962,0)&&显示1234?ROUND(1
234.1962,-1)&&显示1230?ROUND(1234.1962,-2)&&显示1200?ROUND(1234.1962,-3)&&显示1000INT()函数计算一个数值表达式的值,并返回其整数部分。INT(nExpression)返回值数值型参数nExpression指定INT
()要计算的数值表达式。示例CLEAR?INT(12.5)&&显示12?INT(6.25*2)&&显示12?INT(-12.5)&&显示-12STORE-12.5TOgnNumber?INT(gnNumber)&&显示-12EOF()函数确定记录指针位置是否超出当前表或指定表中的
最后一个记录。EOF([nWorkArea|cTableAlias])返回值逻辑型参数nWorkArea指定表所在的工作区号。cTableAlias指定表的别名。如果指定工作区中没有打开的表,则EOF()函数返回“假”(.F.)。如果没有指定工作区或别名,则检查当前选
定工作区中打开的表,看是否到达了表的最后一个记录。EMPTY()函数确定表达式是否为空值。EMPTY(eExpression)返回值逻辑型参数eExpression指定EMPTY()函数作用的表达式。
可包含字符、数值、日期或逻辑表达式,也可以是已打开表的备注字段或通用字段的名称。当表达式取下列值时,EMPTY()函数返回“真”(.T.):SPACE()函数返回由指定数目的空格构成的字符串。SPACE(nSpaces)返回值字符型参数nSpacesspace()
函数返回的空格数目。nSpaces最大值的唯一限制是内存容量。IIF()函数根据逻辑表达式的值,返回两个值中的某一个。IIF(lExpression,eExpression1,eExpression2)返回值字符型、数字型、货币型、日期型或日期时间型参数lExpress
ion指定要计算的逻辑表达式。eExpression1,eExpression2如果lExpression计算结果为“真”(.T.),返回eExpression1;如果lExpression为“假”(.F.),则返回eExpression2下面示例用i
if()函数检查学生的性别。如果为男,则显示“boy”;否则,显示“girl”。Xsxb='男'iif(Xsxb='男','boy','girl')用iif()函数检查数据库产品的类型。如果产品类型字段(CPLX)为
'1',则显示“纸板”;如果产品类型字段(CPLX)为'2',则显示“纸箱”;如果产品类型字段(CPLX)为'3',则显示“彩印”CTOD()函数把字符表达式转换成日期表达式。CTOD(cExpression)返回值日期型参数cEx
pression指定的字符表达式,CTOD()把它转换成日期型的值。示例CTOD("2019-01-01")DTOC()函数由日期或日期时间表达式返回字符型日期。DTOC(dExpression|tExpression[,1])返回值字符型参数dExpression指定日期型内存变量、数组元
素或字段,DTOC()由此返回字符型日期。tExpression指定日期时间型内存变量、数组元素或字段,DTOC()由此返回字符型日期。示例DTOC({^2019-10-31})CTOT()函数从字符表达式返回一个日期时间值。CTOT(cCharacterExpression)返回值Da
teTime参数cCharacterExpression指定要返回日期时间值的字符表达式。备注示例CTOT("2000-10-2413:30:00")TTOC()函数从日期时间表达式中返回一个字符值。TTOC(tExpression[,1|2])返回值字符型参数
tExpression指定的一个日期时间表达式,TTOC()函数从该表达式中返回一个字符值。tExpression必须是一个合法的日期时间值。如果tExpression中只包含时间,VisualFoxPro把默认的日期“12/30/1899”添加到tExpression中;如果tExpress
ion中只包含日期,VisualFoxPro将默认的午夜时间“12:00:00A.M.”添加到tExpression中。示例TTOC(CTOT("2000-10-2413:30:00"))TTOD()函数从日期时间表达式中返回一个日期值。TTO
D(tExpression)返回值日期型参数tExpression指定一个日期时间表达式,TTOD()函数从该表达式中返回一个日期。tExpression必须是一个合法的日期时间值。如果tExpression只包含时间,VisualFoxPro将默认的日期“12/30/1899
”添加到tExpression中,并返回这个默认的日期。示例TTOD(CTOT("2000-10-2413:30:00"))