当前位置: 首页 > 编程语言 > vfp > 正文

看实例学VFP:对查询结果进行排序

时间:2009-02-18 www.bianceng.cn 老马

本例是一个显示包括各记录的自然情况及实发工资的“工资排行榜”。本例在表单的init事件中首先使用select语句对“工资表”的奖金、补助等进行计算,并将查询结果输出为一个包含“实发资金”和“员工编号”的名为lsJJ的临时表;然后对“人员信息表”和临时表lsjj进行表连接查询并对查询结果进行排序后输出为临时表lsb,查询结果中包括所需显示的字段及工资(这是经过计算后的实发工资),最后将lsb设为表格控件的数据源显示出来。

本例中应用到了select语句中的order by子句及inner join子句的知识,关于select语句请参考:select SQL 命令sql语言教程。本例应用到了数据环境,并使用“数据1”数据库中的“人员信息表”和“工资表”作为数据环境的数据源,关于该数据库的情况已经在看实例学VFP:示例数据库一文中给出,运行界面见本文末尾。

制作步骤:

一、新建表单,将其caption属性值设置为“编程入门网-对查询结果进行排序”,AutoCenter属性值设置为.t.,width属性值设置为375,height属性值设置为250,并将表单保存为“对查询结果进行排序.scx”。

二、向表单上添加一个label控件,将其caption属性值设置为“工资排行”,AutoSize属性值设置为.t.,FontBold属性值设置为.t.,FontSize属性值设置为18,ForeColor属性值设置为“0,0,255”。

三、在label控件下方添加一个表格控件,并将其RecordSourceType属性值设为“1-别名”,ReadOnly属性值设为.t.。

四、右击表单空白处选“数据环境”命令,将“人员信息表”和“工资表”添加到数据环境中。

五、适当调整各个控件在表单上的位置,调整后的表单设计器如下图所示:

六、添加事件代码:

表单的init事件代码:

select 奖金-医疗保险-养老保险-事故保险+房屋补助+生活补助;
 as 实发奖金 ,员工编号 from 工资表 into cursor lsjj
select 人员信息表.姓名,人员信息表.部门,人员信息表.性别,;
 人员信息表.家庭住址,人员信息表.基本工资+lsjj.实发奖金 ;
 as 工资 from 人员信息表 inner join lsjj ;
 on 人员信息表.编号=lsjj.员工编号 order by 工资 desc into cursor lsb
thisform.grid1.recordsource="lsb"

七、运行“对查询结果进行排序.scx”,界面如下图:

参考资料:

vfp基础教程:http://bianceng.cn/vfpjc/index0.htm

vfp初级教程:http://bianceng.cn/cc/index.htm

vfp中级教程:http://bianceng.cn/mcc/mcc.htm

vfp高级教程:http://bianceng.cn/hcc/hcc.htm

VFP网络开发:http://bianceng.cn/VFPwz/vfpwlkf.htm

vfp调用api函数:http://bianceng.cn/VFPwz/vfpapi.htm

VFP报表打印:http://bianceng.cn/VFPwz/vfpreport.htm

VFP常用技术:http://bianceng.cn/VFPwz/vfpcyjs.htm

VFP经验汇总:http://bianceng.cn/VFPwz/vfpjyhz.htm

VFP控件使用:http://bianceng.cn/VFPwz/vfpkjsy.htm

VFP数据处理:http://bianceng.cn/VFPwz/vfpsjcl.htm

本例代码在Win2003+VFP6.0环境下调试通过。

查看全套“菜鸟也学VFP”教程