关于REPORT FORM命令,参看帮助文件。以下内容从帮助文件中复制而来。
report 命令
根据 MODIFY REPORT 或 CREATE REPORT 创建的报表定义文件显示或打印报表。
语法
REPORT FORM FileName1 | ?
[ENVIRONMENT]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[HEADING cHeadingText]
[NOCONSOLE]
[NOOPTIMIZE]
[PLAIN]
[RANGE nStartPage [, nEndPage]]
[PREVIEW [[IN] WINDOW WindowName | IN SCREEN]
[NOWAIT]]
[TO PRINTER [PROMPT] | TO FILE FileName2 [ASCII]]
[NAME ObjectName]
[SUMMARY]
参数描述
FileName1
指定报表定义文件的名称。
?
显示“打开”对话框,从中可选择报表文件。
ENVIRONMENT
包括此子句是为了提供与 2.x 版本报表的向后兼容性。要恢复与 VisualFoxPro 报表相关的数据环境,应把数据环境 AutoOpenTables 属性设置为默认值“真”(.T.)。若要确保在报表打印完后关闭报表环境,应把数据环境AutoCloseTables 属性设置为默认值“真”(.T.)。
对于从早期 FoxPro 版本转换过来的报表,即便 AutoOpenTables 属性设置为“假”(.F.),包含 ENVIRONMENT 也会打开并恢复数据环境中的所有表和关系。
当创建或修改报表时,可以用报表定义文件保存当前 Visual FoxPro 数据环境。保存Visual FoxPro 数据环境,实际上是在报表定义表中添加了一些附加的记录,保存下列信息:所有打开的表和索引文件、索引顺序以及表之间关系。
Scope
指定要包含在报表中的记录范围。只有在指定范围内的记录才包括在报表中。
Scope 子句有:ALL、NEXT nRecords、RECORD nRecordNumber 和 REST。有关 scope 子句的详细内容,请参阅帮助中的Scope 子句和语言概述。
REPORT 的默认范围是所有记录(ALL)。
FOR lExpression1
只有使表达式 lExpression1 的计算值为“真”(.T.) 的记录,才打印其中的数据。包括 FOR 可以筛选出不想打印的记录。
如果 lExpression1 是一个可优化表达式,Rushmore 将优化 REPORT FOR 命令。为获得最佳运行性能,应在 FOR 表达式中使用可优化表达式。
详细内容,请参阅稍后的 SET OPTIMIZE 命令与《Microsoft Visual FoxPro 6.0 中文版程序员指南》第十五章“优化应用程序”中的“掌握 Rushmore 技术”。
WHILE lExpression2
指定一个逻辑表达式 lExpression2 作为打印数据的条件。只要 lExpression2条件计算为“真” (.T.) ,就打印记录中的数据,直至遇到使表达式不为“真”(.T.) 的记录为止。
HEADING cHeadingText
指定放在报表每页上的附加标题文本。如果既包括 HEADING 又包括了PLAIN,应把 PLAIN 子句放在前面。
NOCONSOLE
当打印报表或将报表传输到一个文件时,不在 Visual FoxPro 主窗口或用户自定义窗口中显示有关信息。
NOOPTIMIZE
若要关闭对 report 命令的 Rushmore 优化,应包括 NOOPTIMIZE 子句。
详细内容,请参阅稍后的 SET OPTIMIZE 命令与《Microsoft Visual FoxPro 6.0 中文版程序员指南》第十五章“优化应用程序”中的“掌握 Rushmore 技术”。
PLAIN
指定只在报表开始位置出现的页标题。
RANGE nStartPage [, nEndPage]
指定要打印的页码范围。nStartPage 指定了要打印的第一页;nEndPage 指定了要打印的最后一页。如果省略 nEndPage,则要打印的最后一页默认为9,999。
PREVIEW [[IN] WINDOW WindowName | IN SCREEN]
以页面预览模式显示报表,而不把报表送到打印机中打印。要打印报表,必须发出带 TO PRINTER 子句的 report 命令。
请注意:当命令中包括 PREVIEW 子句时,忽略系统变量。
使用可选的 WINDOW 或 IN WINDOW 子句中,您可以指定一个窗口 WindowName,报表输出到这个窗口中。该窗口可由 DEFINE WINDOW 命令定义。如果包含WINDOW 子句,则使用 WindowName 指定的窗口的特性(例如标题、大小等等)进行预览。如果包含了 IN WINDOW 子句,则在 WindowName 指定的窗口中预览报表。
包含可选的 IN SCREEN 子句,表明报表预览窗口位于 Visual FoxPro 主窗口中,并且不能移动到外面去。
可以在命令中包括可选的 NOWAIT 子句。这时,Visual FoxPro 能够在运行程序时不等待关闭页面预览窗口就继续执行程序。也就是说,当页面窗口打开时,Visual FoxPro 继续运行程序。
在已发布的应用程序中,应确保可以得到“查看”菜单。关掉打印预览工具栏时,如果没有“查看”菜单,将无法恢复“打印预览”工具栏。
TO PRINTER [PROMPT]
把报表输送到打印机打印。
在 Visual FoxPro 中,命令中可以包括可选的 PROMPT 子句,在打印开始前显示设置打印机的对话框。可调整的打印设置项取决于当前安装的打印机驱动程序。PROMPT 子句应紧跟在 TO PRINTER 子句之后。
TO FILE FileName2 [ASCII]
在 Visual FoxPro 中,指定报表要送往的文本文件。将报表送往文本文件时,使用当前打印机驱动程序。包含 TO FILE 子句创建的文件具有默认扩展名 .TXT。
在 Visual FoxPro 中,可以在命令中包括可选 ASCII 子句,用报表定义文件创建一个ASCII 文本文件。没有 ASCII 子句时,则按 PostScript或其他打印机代码格式将报表写到文本文件中。报表定义中任何图像、线条、矩形以及圆角矩形都不出现在 ASCII文件中。
在 ASCII 文本文件的每一页中,列和行的数目由系统变量 _ASCIICOLS 和_ASCIIROWS 的内容确定。_ASCIICOLS 和 _ASCIIROWS 的默认值分别为 80 列和63 行。这些值对应于标准的纵向页。
NAME ObjectName
给报表的数据环境指定一个对象变量名。数据环境和数据环境中的对象都有一些属性和方法,例如 AddObject ,这些属性和方法可在运行时设置或调用。对象变量则提供了存取这些属性和方法的途径。如果不指定 NAME 子句,Visual FoxPro 则使用报表文件的名称作为默认对象变量名,此默认名也可以在事件代码中引用。
SUMMARY
不打印细节行,只打印总计和分类总计信息。
说明
报表定义文件的默认扩展名是 .FRX。如果报表定义文件不在默认目录中,文件名中必须包括文件的路径。