R E P O R T 命 令

R E P O R T 命 令 - 图1根据 MODIFY REPORT 或 CREATE REPORT 创建的报表定义文件显示或打印报表

语 法

REPORT FORM FileName1 | ? [ENVIRONMENT]

[ Scope ] [FOR lExpression1 ] [ W H ILE lExpression2 ] [HEADING cHeadingText ]

[NOCONSOLE] [NOOPTIMIZE] [PLAIN]

[RANGE nStartPage [, nEndPage ]]

[PREVI EW [[IN] WINDOW W indowName | IN SCREEN] [NOWAIT]]

[TO PRINTER [PROMPT] | TO FILE FileName2 [ASCII]]

[NAME Ob jectNam e] [SUMMARY]

参 数 描 述

FileName1

R E P O R T 命 令 - 图2指 定 报 表 定 义 文 件 的 名 称

?

R E P O R T 命 令 - 图3R E P O R T 命 令 - 图4R E P O R T 命 令 - 图5R E P O R T 命 令 - 图6显 示 打 开 对 话 框 从 中 可 选 择 报 表 文 件

ENVIRONMENT

R E P O R T 命 令 - 图7R E P O R T 命 令 - 图8R E P O R T 命 令 - 图9R E P O R T 命 令 - 图10R E P O R T 命 令 - 图11R E P O R T 命 令 - 图12R E P O R T 命 令 - 图13R E P O R T 命 令 - 图14R E P O R T 命 令 - 图15包 括 此 子 句 是 为 了 提 供 与 2.x 版 本 报 表 的 向 后 兼 容 性 要 恢 复 与 V isual FoxPro 报 表 相 关 的 数 据 环 境 应 把 数 据 环 境 AutoOpenTables 属 性 设 置 为 默认 值 真 ( .T .) 若 要 确 保 在 报 表 打 印 完 后 关 闭 报 表 环 境 应 把 数 据 环 境AutoCloseTables 属 性 设 置 为 默 认 值 真 ( .T .)

R E P O R T 命 令 - 图16R E P O R T 命 令 - 图17R E P O R T 命 令 - 图18对于从早期 FoxPro 版本转换过来的报表 即便 AutoOpenTables 属性设置为 假

R E P O R T 命 令 - 图19R E P O R T 命 令 - 图20(.F.) 包含 ENVIRONMENT 也会打开并恢复数据环境中的所有表和关系

R E P O R T 命 令 - 图21R E P O R T 命 令 - 图22R E P O R T 命 令 - 图23R E P O R T 命 令 - 图24R E P O R T 命 令 - 图25R E P O R T 命 令 - 图26R E P O R T 命 令 - 图27当创建或修改报表时 可以用报表定义文件保存当前 Visual FoxPro 数据环境 保存Visual FoxPro 数据环境 实际上是在报表定义表中添加了一些附加的记录 保存下列信息 所有打开的表和索引文件 索引顺序以及表之间关系

Scope

R E P O R T 命 令 - 图28R E P O R T 命 令 - 图29指 定 要 包 含 在 报 表 中 的 记 录 范 围 只 有 在 指 定 范 围 内 的 记 录 才 包 括 在 报 表中

R E P O R T 命 令 - 图30R E P O R T 命 令 - 图31R E P O R T 命 令 - 图32R E P O R T 命 令 - 图33R E P O R T 命 令 - 图34R E P O R T 命 令 - 图35R E P O R T 命 令 - 图36R E P O R T 命 令 - 图37Scope 子 句 有 ALL NEXT nRecords RECORD nRecordNumber 和 REST 有 关 scope 子 句 的 详 细 内 容 请 参 阅 帮 助 中 的 “ Scope Clauses ” 和 语 言概 述

R E P O R T 命 令 - 图38REPORT 的默认范围是所有记录 (ALL)

FOR lExpression1

R E P O R T 命 令 - 图39R E P O R T 命 令 - 图40R E P O R T 命 令 - 图41R E P O R T 命 令 - 图42R E P O R T 命 令 - 图43只 有 使 表 达 式 lExpression1 的 计 算 值 为 真 (.T.) 的 记 录 才 打 印 其 中 的数 据 包 括 FOR 可 以 筛 选 出 不 想 打 印 的 记 录

R E P O R T 命 令 - 图44R E P O R T 命 令 - 图45R E P O R T 命 令 - 图46R E P O R T 命 令 - 图47如果 lExpression1 是一个可优化表达式 Rushmore 将优化 REPORT FOR 命令 为获得最佳运行性能 应在 FOR 表达式中使用可优化表达式

R E P O R T 命 令 - 图48R E P O R T 命 令 - 图49R E P O R T 命 令 - 图50R E P O R T 命 令 - 图51R E P O R T 命 令 - 图52R E P O R T 命 令 - 图53R E P O R T 命 令 - 图54R E P O R T 命 令 - 图55详细内容 请参阅稍后的 SET OPTIMIZE 命令与 Microsoft Visual FoxPro 6.0 中文版程序员指南 第十五章 优化应用程序 中的 掌握 Rushmore 技术

W H ILE lExpression2

R E P O R T 命 令 - 图56R E P O R T 命 令 - 图57R E P O R T 命 令 - 图58R E P O R T 命 令 - 图59R E P O R T 命 令 - 图60R E P O R T 命 令 - 图61R E P O R T 命 令 - 图62R E P O R T 命 令 - 图63指 定 一 个 逻 辑 表 达 式 lExpression2 作 为 打 印 数 据 的 条 件 只 要 lExpression2 条 件 计 算 为 真 (.T.) 就 打 印 记 录 中 的 数 据 直 至 遇 到 使 表 达 式 不 为 真(.T.) 的 记 录 为 止

HEADING cHeadingText

R E P O R T 命 令 - 图64指 定 放 在 报 表 每 页 上 的 附 加 标 题 文 本 如 果 既 包 括 HEADING 又 包 括 了

R E P O R T 命 令 - 图65R E P O R T 命 令 - 图66PLAIN 应 把 PLAIN 子 句 放 在 前 面

NOCONSOLE

R E P O R T 命 令 - 图67R E P O R T 命 令 - 图68当 打 印 报 表 或 将 报 表 传 输 到 一 个 文 件 时 不 在 Visual FoxPro 主 窗 口 或 用 户自 定 义 窗 口 中 显 示 有 关 信 息

NOOPTIMIZE

R E P O R T 命 令 - 图69R E P O R T 命 令 - 图70若 要 关 闭 对 REPORT 命 令 的 Rushmore 优 化 应 包 括 NOOPTIMIZE 子句

R E P O R T 命 令 - 图71R E P O R T 命 令 - 图72详 细 内 容 请 参 阅 稍 后 的 SET OPTIMIZE 命 令 与 Microsoft Visual FoxPro 6.0

R E P O R T 命 令 - 图73R E P O R T 命 令 - 图74R E P O R T 命 令 - 图75R E P O R T 命 令 - 图76R E P O R T 命 令 - 图77R E P O R T 命 令 - 图78中 文 版 程 序 员 指 南 第 十 五 章 优 化 应 用 程 序 中 的 掌 握 Rushmore 技 术

PLAIN

R E P O R T 命 令 - 图79指 定 只 在 报 表 开 始 位 置 出 现 的 页 标 题

RANGE nStartPage [, nEndPage ]

R E P O R T 命 令 - 图80R E P O R T 命 令 - 图81R E P O R T 命 令 - 图82R E P O R T 命 令 - 图83R E P O R T 命 令 - 图84指 定 要 打 印 的 页 码 范 围 nStartPage 指 定 了 要 打 印 的 第 一 页 nEndPage 指定 了 要 打 印 的 最 后 一 页 如 果 省 略 nEndPage 则 要 打 印 的 最 后 一 页 默 认 为9,999

PREVIEW [[IN] WINDOW W indowName | IN SCREEN]

R E P O R T 命 令 - 图85R E P O R T 命 令 - 图86R E P O R T 命 令 - 图87R E P O R T 命 令 - 图88以 页 面 预 览 模 式 显 示 报 表 而 不 把 报 表 送 到 打 印 机 中 打 印 要 打 印 报 表 必须 发 出 带 TO PRINTER 子 句 的 REPORT 命 令

R E P O R T 命 令 - 图89R E P O R T 命 令 - 图90R E P O R T 命 令 - 图91请注意 当命令中包括 PREVIEW 子句时 忽略系统变量

R E P O R T 命 令 - 图92R E P O R T 命 令 - 图93R E P O R T 命 令 - 图94R E P O R T 命 令 - 图95R E P O R T 命 令 - 图96R E P O R T 命 令 - 图97R E P O R T 命 令 - 图98R E P O R T 命 令 - 图99R E P O R T 命 令 - 图100R E P O R T 命 令 - 图101R E P O R T 命 令 - 图102使用可选的 WINDOW 或 IN WINDOW 子句中 您可以指定一个窗口 WindowName 报表输出到这个窗口中 该窗口可由 DEFINE W INDOW 命令定义 如果包含WINDOW 子句 则使用 W indowName 指 定 的 窗口的特性 例如标题 大小等等进行预览 如果包含了 IN WINDOW 子句 则在 W indowName 指 定 的 窗口中预览报表

R E P O R T 命 令 - 图103R E P O R T 命 令 - 图104R E P O R T 命 令 - 图105包含可选的 IN SCREEN 子句 表明报表预览窗口位于 Visual FoxPro 主窗口中 并且不能移动到外面去

R E P O R T 命 令 - 图106R E P O R T 命 令 - 图107R E P O R T 命 令 - 图108R E P O R T 命 令 - 图109R E P O R T 命 令 - 图110R E P O R T 命 令 - 图111可以在命令中包括可选的 NOWAIT 子句 这时 Visual FoxPro 能够在运行程序时不等待关闭页面预览窗口就继续执行程序 也就是说 当页面窗口打开时 Visual FoxPro 继续运行程序

R E P O R T 命 令 - 图112R E P O R T 命 令 - 图113R E P O R T 命 令 - 图114R E P O R T 命 令 - 图115R E P O R T 命 令 - 图116R E P O R T 命 令 - 图117R E P O R T 命 令 - 图118R E P O R T 命 令 - 图119R E P O R T 命 令 - 图120R E P O R T 命 令 - 图121R E P O R T 命 令 - 图122在已发布的应用程序中 应确保可以得到 查看 菜单 关掉打印预览工具栏时 如果没有 查看 菜单 将无法恢复 打印预览 工 具 栏

TO PRINTER [PROMPT]

R E P O R T 命 令 - 图123把 报 表 输 送 到 打 印 机 打 印

R E P O R T 命 令 - 图124R E P O R T 命 令 - 图125R E P O R T 命 令 - 图126R E P O R T 命 令 - 图127R E P O R T 命 令 - 图128在 Visual FoxPro 中 命令中可以包括可选的 PROMPT 子句 在打印开始前显示设置打印机的对话框 可调整的打印设置项取决于当前安装的打印机驱动程序 PROMPT 子句应紧跟在 TO PRINTER 子句之后

TO FILE FileName2 [ASCII]

R E P O R T 命 令 - 图129R E P O R T 命 令 - 图130R E P O R T 命 令 - 图131R E P O R T 命 令 - 图132在 Visual FoxPro 中 指 定 报 表 要 送 往 的 文 本 文 件 将 报 表 送 往 文 本 文 件 时使 用 当 前 打 印 机 驱 动 程 序 包 含 TO FILE 子 句 创 建 的 文 件 具 有 默 认 扩 展

R E P O R T 命 令 - 图133名 .TXT

R E P O R T 命 令 - 图134R E P O R T 命 令 - 图135R E P O R T 命 令 - 图136R E P O R T 命 令 - 图137R E P O R T 命 令 - 图138R E P O R T 命 令 - 图139R E P O R T 命 令 - 图140R E P O R T 命 令 - 图141在 Visual FoxPro 中 可以在命令中包括可选 ASCII 子句 用报表定义文件创建一个ASCII 文本文件 没有 ASCII 子句时 则按 PostScrip t® 或其他打印机代码格式将报表写到文本文件中 报表定义中任何图像 线条 矩形以及圆角矩形都不出现在 ASCII 文件中

R E P O R T 命 令 - 图142在 ASCII 文本文件的每一页中 列和行的数目由系统变量 _ASCIICOLS 和

R E P O R T 命 令 - 图143_ASCIIROWS 的内容确定 _ASCIICOLS 和 _ASCIIROWS 的默认值分别为 80 列和

R E P O R T 命 令 - 图144R E P O R T 命 令 - 图14563 行 这些值对应于标准的纵向页

N A M E Ob jectName

R E P O R T 命 令 - 图146R E P O R T 命 令 - 图147R E P O R T 命 令 - 图148R E P O R T 命 令 - 图149R E P O R T 命 令 - 图150R E P O R T 命 令 - 图151R E P O R T 命 令 - 图152给 报 表 的 数 据 环 境 指 定 一 个 对 象 变 量 名 数 据 环 境 和 数 据 环 境 中 的 对 象 都 有一 些 属 性 和 方 法 例 如 AddObject 这 些 属 性 和 方 法 可 在 运 行 时 设 置 或 调用 对 象 变 量 则 提 供 了 存 取 这 些 属 性 和 方 法 的 途 径 如 果 不 指 定 N A M E 子句 V isual FoxPro 则 使 用 报 表 文 件 的 名 称 作 为 默 认 对 象 变 量 名 此 默 认 名 也

R E P O R T 命 令 - 图153可 以 在 事 件 代 码 中 引 用

S U M M A R Y

R E P O R T 命 令 - 图154R E P O R T 命 令 - 图155不 打 印 细 节 行 只 打 印 总 计 和 分 类 总 计 信 息

说 明

R E P O R T 命 令 - 图156R E P O R T 命 令 - 图157R E P O R T 命 令 - 图158报表定义文件的默认扩展名是 .FRX 如果报表定义文件不在默认目录中 文件名中必须包括文件的路径

请 参 阅

_ASCIICOLS, _ASCIIROWS, CREATE REPORT, DataEnvironment 对 象 , MODIFY REPORT