vfp中关于total on的命令,请问如何理解?
1个回答
展开全部
total 命令
计算当前选定表中数值字段的总和。
语法
TOTAL TO TableName ON FieldName
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
FieldName
指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。
FIELDS FieldNameList
指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。
Scope
指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅 Scope 字句主题或者《开发指南》的第二章“语言概述”。
total 命令默认的范围是全部 (ALL) 记录。
FOR lExpression1
指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》第十五章“优化应用程序”。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。
NOOPTIMIZE
关闭 TOTAL 的 Rushmore 优化。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》的第十五章“优化应用程序”。
说明
要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。
如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:
小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。
计算当前选定表中数值字段的总和。
语法
TOTAL TO TableName ON FieldName
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
FieldName
指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。
FIELDS FieldNameList
指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。
Scope
指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅 Scope 字句主题或者《开发指南》的第二章“语言概述”。
total 命令默认的范围是全部 (ALL) 记录。
FOR lExpression1
指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》第十五章“优化应用程序”。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。
NOOPTIMIZE
关闭 TOTAL 的 Rushmore 优化。有关详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》的第十五章“优化应用程序”。
说明
要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。
如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:
小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。
追问
请直接解释下这段代码的意思
追答
total on ssbh fiel tpje,js to d:\j21.dbf
按字段 ssbh 分组排序,汇总字段为tpje,js 生成表j21.dbf
可以参照提供给你的命令用法对照具体实例
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询