vfp6.0中的查询问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 15:58:02
现在不少上级的表格都还喜欢用VFP做。难坏了我这样不会用的人,只好向大家请教。
一个表格,有几个字段名,其中一个字段叫“人员代码”,如“0706000500001”,是由一组13位数字构成的,编号规律是,前两位是表示年份,其后六位表示单位代码,最后五位是单位内学员的流水号。
问题1、我想从这张的几万个记录中,找出我单位的学员。怎样才能筛选出来?应该要用到“060005”这个单位代码吧,用什么方法把含有我单位代码的学员的记录找出来呢?
问题2、怎样找出某一年的学员情况呢?
问题3、怎样一下子找出既是07年同时又是我单位的学员信息呢?
万分感谢!!
第二句:.sele * from 学员 wher left(人员代码,2)=07 成功了,但最后的07要打上引号才有用。
其他两句没有成功。不知道为什么?

楼主真的没接触过VFP,第2楼的也忽略了数据的类型,同时还自作聪明把我给出的“==”换成了“=”。VFP对数据类型要求很严格。

应当看得出“人员代码”是一个字符型的数据,所以后面也要跟字符型,除了变量,要用引号括起来。如果07不用引号括起来,那就是数值型。会出错,数据类型不匹配!

我给出的“单位代码”、‘年份’是要你在使用时根据实际情况代换的

假设现在要查询的表名为“学员”,年份是“07”单位代码是“060005” 那么输入的命令为:
1、
sele * from 学员 where subs(人员代码,3,6)=='060005'
2、
sele * from 学员 where left(人员代码,2)=='07'
3、
sele * from 学员 where subs(人员代码,3,6)=='060005' and left(人员代码,2)=='07'

1.sele 学员 from 表名 wher sub(人员代码,3,6)=单位代码
2.sele * from 表名 wher left(人员代码,2)=年份
3.sele * from 表名 wher left(人员代码,2)=年份 and sub(人员代码,3,6)=单位代码
附注:这里的表名你在题目中没有提到,在使用这些SQL语言时候要将表名换成实际系统中表的名称,另外“年份”,“单位代码”就是你实际需要换成你查找的那些数字,希望可以帮到你。
举个例子,假设我现在要查询的表名为“学员”,年份是“07”单位代码是“060005” 那么输入的命令为:
1.sele 学员 from 学员 wher sub(人员代码,3,6)=060005
2.sele * from 学员 wher left(人员代码,2)=07
3.sele * from 学员 wher left(人员代码,2)=07 and sub(人员代码,3,6)=060005
看到变化了吗,对于其它的情况你就照猫画虎,将数字和表名变一下就可以了。
所有数据都