vf表格中如何对一个字段进行求和.docx
《vf表格中如何对一个字段进行求和.docx》由会员分享,可在线阅读,更多相关《vf表格中如何对一个字段进行求和.docx(5页珍藏版)》请在冰豆网上搜索。
vf表格中如何对一个字段进行求和
竭诚为您提供优质文档/双击可除
vf表格中如何对一个字段进行求和
篇一:
【转】dataset里怎么对一个字段的值求和
我们在使用sqlserver这些数据库时,可以轻松的通过sum、aver、count等统计出相关结果,那么,在已经把数据检索出来的dataset(datatable)中呢?
特别是通过webservice获得了dataset,这个时候,可是没有办法回头去修改select语句来获取这些统计了。
那么在dataset/datatable中是否可以进行统计呢?
答案是肯定的。
在msdn中,有一篇ms推荐的统计方法,就是逐行对数据进行求和统计,这个方法,其实有等于无(或许这个方法只是针对于datagrid求取小计用吧),因为这个方法中采用的是datagrid的itemdatabind事件来对数据进行累加,同我们手动写代码统计没有什么区别。
本文介绍一个简单的方法,不需要逐条记录进行计算就可以轻松的获得
datatable中的记录统计结果。
这个简单的方法就是调用功能强大的datatable的函数compute。
一、调用说明(仅以c#为例,下同):
publicobjectcompute(stringstrexpression,stringstrFilter)
参数:
strexpression:
要计算的表达式字符串,基本上类似于sqlserver中的统计表达式
strFilter:
统计的过滤字符串,只有满足这个过滤条件的记录才会被统计
二、调用举例:
以下示例,假设一个产品销售表table,描述某商场中各促销员销售的实际记录,包含字段为:
姓名(name)、性别(sex,0为女,1为男)、生日(birthday)、销售产品的代码(proid)、销售的数量(quantity)、销售价格(price)。
1.统计所有性别为女的销售员的数量:
pute("count(*)","sex=0");
2.统计所有销售员中年龄大于20岁的
pute("count(*)","birthday 3.统计销售产品的平均价格
pute("aver(price)","true");
4.统计产品代码为1的产品销售数量:
pute("sum(quantity)","proid=1");
5.统计所有产品的销售总金额:
要统计总销售金额,由于table中不存在某项产品某个促销员销售的金额数据,但我们可以通过quantity*price来获得。
比如:
pute("sum(quantity*price)","true");
这里一个问题是:
datatable的统计功能没有sqlserver强,这个统计是错误的,因为compute的统计不具备sum(quantity*price)这样数据的功能。
那怎么办呢?
对于这样复杂数据的统计,我们可以在datatable中创建一个新的字段来完成,比如amount,同时设置该字段的expression为quantity*price,这样我们就可以使用统计功能了:
pute("sum(amount)","true");
=============================================================试用实
例:
this.lblprice.text=ds.tables[0].compute("sum(price)","true").tostring();
篇二:
vf公式+解答
表结构修改
modiFystRuctuRe
表结构修改后,为了给一个反悔的机会,VF自动将原表文件(.dbF)和备注文件(.Ftp)备份为主文件名相同,扩展名分别为(.bak)和(.tbk)的新文件。
记录的基本操作1、追加记录
append[blank]
2.从其他表追加
appendFRom3.显示记录
逐条显示:
list
只显示(vf表格中如何对一个字段进行求和)一条:
display
修改记录
记录定位Replace
〈字段〉with〈表达式〉
1.绝对定位
go|goto〈记录号|top|bottom〉top记录指针到文件的顶部bottom记录指针到文件的底部记录号记录指针到指定记录号2.相对定位
skip〈数值表达式〉
3.定位条件
locate[〈范围〉]FoR〈逻辑表达式〉continue插入记录
abc {02-10-02}>={02/01/02}‘abc’==’abcabc’
功能圆括号逻辑非逻辑与逻辑或
优先级别最高||最低
结果.t..t..F..t..F..t..F.
篇三:
VF急用命令表和例子
VF急用命令表和例子
VF如何替换字段通过表菜单中的“替换字段”命令,将“学生选课表”中所有学号为“20xx14”的记录的学号均替换为“20xx21“
字段是xh
如:
use学生选课表
replaceallxhwith"20xx21"forxh="20xx14"
VF中两个表中相对应字段的替换问题VF中表一有两个字段,其中一个是地区代码,另外一个是就是地区代码的名称。
表二中有若干字段,如学生姓名、考号等,其中一项也是地区代码它和表一地区代码是对应的,如何把表二的地区代码下的具体代码换成表一中相对应的地区代码名称。
selea
use表1
indeon地区代码tag地区代码
seleb
use表2
setrelationto地区代码intoa
replb.地区代码名称witha.地区代码名称fora.地区代码=b.地区代码
vf中把一个数据库中的a字段里的内容与另一个表中a字段里的内容合成一个库
sele表1.a字段,表2.a字段from表1,表2
copyto合并表名
vf数据库字段如何替换我有两个.dbf文件,比如,学生库吧:
一个库里面只有学号,有成绩字段但都是空的,另一个库里面只有学号和一科的成绩,而且人数也比第一个库少的多,不过多那么一两个学生,第一个库里面没有,如何把第二个库里面的成绩替换到第一个库中相应的字段下?
谢谢一个库名为08g3jd.dbf,下面有fkh(考号)字段,和fcj,不过第二个都是0,需要输;另一个库名为a3生.dbf下面也有考试号,和fkh里面的内容基本匹配,还有一个生物的成绩,有数据!
如何把生物的成绩弄到第一个库中!
如果没理解错的话,应该是用一个程序,代码如下:
usea3生
dowhilenoteoF()
update08g3jdsetfcj=a3生.生物的成绩wheRefkh=a3生.fkh
skip
enddo
vf中如何使用update实现两张表之间字段复制
如表1(学号,姓名,备注),表2(学号,籍贯)两表的学号是关键字要实现将表2的籍贯字段更新到表1的备注字段
问题补充:
是要批量做的,(即批量复制,一条语句就搞定的那种)
update表1set备注=(select籍贯from表2)where学号=123这样只能一条条做的,太慢
最佳答案:
update表1set备注=表2.籍贯where表1.学号=表2.学号这个简单,sql语句如下:
update表1set备注=(select籍贯FRom表2wheRe表1.学号=表2.学号)wheRe表1.学号in(select学号FRom表2)这两个都可以实现,在VF中用sql语言嵌入,第一种是直接的方法,第二种是嵌套
update他的意思就是用其他表的数据更新当前选定工作区中打开的表的数据。
即是说他是引用别的表的数据,而不是当前表的数据。
vf中如何使用update实现两张表之间字段复制
表1学生信息中有xjhbjdm等等表2班级信息中有xjhxj想将表2中班级添加到表1备注一列中,使用函数update学生信息setbjdm=(selectbjfrom班级信息)where学生信息.xjh=班级信息.xjh或者update学生信息setbjdm=(selectbjFRom班级信息wheRe学生信息.xjh=班级信息.xjh)wheRe学生信息.xjhin(selectxjhFRom班级信息)
问题补充:
使用上述方法均提示函数名缺少)。
vfp中不能这样写.要写成(正确)update学生信息from班级信息set学生信息.bjdm=班级信息.bjwhere学生信息.xjh=班级息.xjh
如:
F:
\表1和F:
\表2,表1中有语文、数学等成绩,表2中有hkyw、hksx等,其中F:
\表1和F:
\表2都有学籍号相同,把表1中的成绩添加到表2中实现过程:
update表2fromF:
\表1set表2.hkyw=表1.语文where表2.hkkh=表
1.hkkh
update表4fromh:
\表3set表4.hksx=表3.数学,表4.hkwl=表3.物理,表4.hkyw=表3.语文,表4.hkwy=表3.英语,表4.hkhx=表3.化学,表4.hkls=表3.历史,表4.hkdl=表3.地理,表4.hkzz=表3.政治,表4.hksw=表3.生物,表4.hkty=表3.体育where表4.hkkh=表3.会考证号
VF常用命令
VF常用命令及其格式?
请分类叙述(例如对表文件的.对
(20xx-01-2113:
16:
59)
1、打开表命令:
use表文件名教材p67
2、关闭表命令:
use、closeallp68
3、记录指针定位命令:
go数值表达式(绝对移动)、skip(相对移动)p69-70
4、替换(修改)记录命令:
Replace字段1with表达式1,字段2with表达式2[范围][FoR]p79
5、复制表命令:
copyto新文件名[FoR〈条件〉][范围]p84
复制表结构命令:
copystRuto新表文件名[Fiel〈字段名表〉]p85
6、建立索引命令:
indexon关键字段to单索引文件名
indexon关键字段tag索引标识名p89
7、查询命令:
(1)条件查询:
locateFoR〈条件〉p93继续查找命令:
continuep93
(2)索引查询:
Find字符表达式p94seek表达式p95继续查找命令:
skipp95
8、选择工作区命令:
sele工作区号|别名p105
9、建立表之间的关联命令:
setRelationto关联表达式into别名p108
10、表的更新命令:
参考我的课件第三章第五节关于表的更新部分
updateon关键字段FRom别名Replace字段1with表达式1,字段2with表达式2[Random]
11、交互式输入命令:
(1)input[提示信息]to内存变量p139
(2)accept[提示信息]to内存变量p139
13、输出命令:
?
和?
?
p141常用命令:
1、设置默认路径命令:
setdeFato盘符:
\路径
2、关闭表命令:
closetable,cleaRall
3、记录显示命令:
list/disp[范围][FoR〈条件〉]p72
4、追加记录命令:
(1)表尾追加:
append[blank]p80
(2)表中插入:
inseRt[beFoRe][blank]p81
p81(3)从其他文件中追加多条记录到当前表:
appendFRom文件名[FoR〈条件〉][Fiel]
5、删除记录命令:
dele[范围][FoR]p82
6、彻底删除带标记记录命令:
pack
7、取消删除标记命令:
Recall[范围][FoR]p83
8、物理删除表中所有记录命令:
zapp84
9、复制任何类型文件:
copyFile〈文件名1〉to〈文件名2〉p84
10、将单个记录发送到数组:
scatteRto〈数组名〉[Fiel〈字段名表〉]p85
11、将数组中的值发送到当前记录命令:
gatheRFRom数组名p96
12、将表中多条记录传送到数组命令:
copytoaRRay数组名p86
13、将二维数组中的值传送到表中:
appendFRomaRRay数组名p87
14、表的排序命令:
soRton〈字段1〉/a|/d,字段2/a|/dto新表文件名p87
15、打开索引文件命令:
setindexto索引文件名表p91
16、设置主控索引命令:
setoRdeRto单索引文件名|tag索引标
识p91
17、更新索引文件命令:
Reindexp92
18、关闭索引文件:
setindexto、closeindex、closeall、cleaRall、usep92
19、删除索引标识命令:
deletag索引标识