如果第二条记录1-5字符也是1号同学的成绩的话,建议把表格分割成新表格处理
SELECT SUBSTR(score, 1, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 6, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 11, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 16, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 21, 5) FROM TAB
然后计算每一条记录的和
CASE(SUBSTR(score, 1, 1) WHEN 'A' THEN 20
WHEN 'B' THEN 18
WHEN 'C' THEN 12
WHEN 'D' THEN 8
ELSE 0 END)
如果要每条记录5个分割计算,
那就substr每个字符,然后用case换算求和。。
VFP编程不用C一样的严禁格式。
S=0
FOR I=1 TO 100
S=S+I
ENDFOR
S
S是求和的结果了,如果将来不是非要1----100,那么在最前面加上一个INPUT命令,以输入值做为循 环次数求和也行。
不能用sum()函数,它的功能是纵向求和
建好表后,用一个命令就可以实现你要的费用总计。很简单的用法。
方法一
replace all 费用总计 with 挂号费 + 住院费 + 医药费
方法二
在表设计器中选中该字段设置默认值 :
挂号费 + 住院费 + 医药费
use 表
sum 基本工资 to a
go bottom
replace 基本工资 with a
或
go bottom
replace 基本工资 with sum(基本工资)
检查你的()输入的对吧?英文下输入。
你可以用sum命令来完成,你的问题可用以下形式解决:
sum 字段 to 变量
以下是sum命令的用法:
sum 命令
对当前选定表的指定数值字段或全部数值字段进行求和。
语法
SUM [eExpressionList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[TO MemVarNameList | TO ARRAY ArrayName]
[NOOPTIMIZE]
参数
eExpressionList
指定要总计的一个或多个字段或者字段表达式。如果省略字段表达式列表,则总计所有数值型字段。
Scope
指定要总计的记录范围。范围子句有:ALL、NEXT nRecords、RECORD nRecordnumber 和 REST。关于作用域子句的详细内容,请参阅 Scope 子句主题或《开发指南》的第二章“语言概述”。
SUM 默认的范围是所有记录 (ALL)。
FOR lExpression1
指定对逻辑条件 lExpression1 值为“真”(T) 的记录才进行总计。包含 FOR 子句可以有条件地总计记录,筛选出不想要的记录。
如果 lExpression1 是一个可优化表达式,那么 Rushmore 可以优化 SUM FOR 命令。为了获得最佳性能,请在 FOR 子句中使用可优化表达式。关于 Rushmore 优化的详细内容,请参阅 SET OPTIMIZE 和深入了解 Rushmore 技术主题或者《开发指南》的第十五章“优化应用程序”。
WHILE lExpression2
指定一个条件,在当前表中只对逻辑表达式 lExpression2 为“真” (T) 的记录进行总计。
TO MemVarNameList
将每个总计值存入一个内存变量。如果 MemVarNameList 中指定的内存变量不存在,则 Visual FoxPro 自动创建,列表中的内存变量名用逗号分隔。
TO ARRAY ArrayName
将总计值存入内存变量数组中,如果在 sum 命令中指定的数组不存在,则 Visual FoxPro 自动创建;如果数组存在但太小,不能包含所有的总计值,那么自动增加数组的大小以存放总计值。
对当前选定表的指定数值字段或全部数值字段进行求和。
SUM [eExpressionList] [Scope] [FOR lExpression1] [WHILE lExpression2]
[TO MemVarNameList | TO ARRAY ArrayName] [NOOPTIMIZE]
参数
eExpressionList
指定要总计的一个或多个字段或者字段表达式。如果省略字段表达式列表,则总计所有数值型字段。
Scope
指定要总计的记录范围。范围子句有:ALL、NEXT nRecords、RECORD nRecordnumber 和 REST。关于作用域子句的详细内容,请参阅联机主题 scope(作用域)子句 或 语言概述。
SUM 默认的范围是所有记录 (ALL)。
FOR lExpression1
指定对逻辑条件 lExpression1 值为“真”(T) 的记录才进行总计。包含 FOR 子句可以有条件地总计记录,筛选出不想要的记录。
如果 lExpression1 是一个可优化表达式,那么 Rushmore 可以优化 SUM FOR 命令。为了获得最佳性能,请在 FOR 子句中使用可优化表达式。
关于 Rushmore 优化的详细内容,请参阅 SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
WHILE lExpression2
指定一个条件,在当前表中只对逻辑表达式 lExpression2 为“真” (T) 的记录进行总计。
TO MemVarNameList
将每个总计值存入一个内存变量。如果 MemVarNameList 中指定的内存变量不存在,则 Visual FoxPro 自动创建,列表中的内存变量名用逗号分隔。
TO ARRAY ArrayName
将总计值存入内存变量数组中,如果在 sum 命令中指定的数组不存在,则 Visual FoxPro 自动创建;如果数组存在但太小,不能包含所有的总计值,那么自动增加数组的大小以存放总计值。
NOOPTIMIZE
禁止 SUM 的 Rushmore 优化。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
示例
下面的示例显示 products 表中的 in_stock 字段和 on_order 字段的总计,以及这两个总计的和。
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products && 打开 Products 表
SUM in_stock, on_order, in_stock+on_order ;
TO gnInStock, gnOnOrder, gnUnits
CLEAR
'库存总数 : ', gnInStock && 显示 311900
'订货总数 : ', gnOnOrder && 显示 78000
'总单位 : ', gnUnits && 显示 389900
计算数值表达式或字段的算术平均值。
AVERAGE [ExpressionList] [Scope] [FOR lExpression1] [WHILElExpression2]
[TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]
参数
ExpressionList
指定求平均值的表达式。ExpressionList 可以是用逗号分隔的表字段或包含表字段的数值表达式。
Scope
指定求平均值的记录或记录范围。只有在指定范围内的记录才参加求平均值运算。Scope 子句可以为 :ALL、NEXT nRecords、RECORD nRecordNumber 和 REST。默认的 Scope(范围)为所有记录。
包含 Scope 子句的命令仅处理活动工作区中的表。
FOR lExpression1
指定只有满足逻辑条件 lExpression1 的记录才参与计算。这样可以筛选出不想要的记录。
如果 lExpression 是可优化的表达式,Rushmore 技术将优化 AVERAG FOR 查询。若要获得最佳性能,应在 FOR 子句中使用可优化的表达式。有关 Rushmore 可优化表达式的详细内容,请参阅 SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
WHILE lExpression2
指定只要逻辑表达式 lExpression2 为“真”(T),记录就参与运算。直到遇到第一个使 lExpression2 计算得“假”(F) 为止。
TO VarList
指定保存平均值结果的内存变量或数组元素的列表。
TO ARRAY ArrayName
指定保存平均值结果的一维数组。一维数组可以在使用 AVERAGE 命令前创建。
如果指定数组不存在,Visula FoxPro 将自动创建该数组。如果数组存在,但大小不能包含所有结果,Visula FoxPro 将自动根据信息量增加数组大小。
NOOPTIMIZE
取消 AVERAGE 命令的 Rushmore 优化。有关的详细内容,请参阅 SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
备注
除非包含可选的表达式列表,否则选定表的所有字段都将参与求平均值的运算。如果 SET TALK 为 ON,结果显示在屏幕上。如果 SET HEADINGS 为 ON,字段名或包括字段名的表达式将显示在结果的上面。
示例
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders && 打开 order 表
CLEAR
AVERAGE Order_Amt && 计算所有订单的平均值
AVERAGE Order_Amt TO gnAvg && 保存平均值到内存变量
'平均订货数: '
gnAvg && 再次显示平均值
以上就是关于高分求VFP的处理程序全部的内容,包括:高分求VFP的处理程序、vfp求编程,求下列数列,自定义函数,求和。谢谢 S=1+2+3+……+99+100、VFP表中自动求和等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)