vfp中total命令怎么用啊,举个例子。。。。。

 我来答
tanadinor
推荐于2016-04-10 · TA获得超过120个赞
知道答主
回答量:87
采纳率:0%
帮助的人:71.6万
展开全部
计算当前选定表中数值字段的总和。

语法

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 保存总计值最主要的部分:

小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。

eg:
use 入库清单
TOTAL TO 入库汇总表 ON 货物名称 fields 数量, 金额

就是从入库清单中汇总所有货物的入库数量和该货物的总金额。
更多追问追答
追问
学生1表已建立了1个宽度为1的字符型字段FSD(分数段),利用TOTAL命令写出按数值型成绩字段(宽度为5,小数为1)的百分位上的数(如234分取2)进行分数段分类统计的命令组。   这个怎么搞啊 ?求大侠指教。。。Thank you!!!!
追答
repl all fsd with allt(str(int(成绩/100)))
TOTAL TO 分数段 ON FSD

&& 不常用total这个命令,不晓得对不对,你回头自己试一试。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式