| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 997 人关注过本帖
标题:VFP如何查询学生个人信息
只看楼主 加入收藏
摇曳的风车
Rank: 1
等 级:新手上路
帖 子:58
专家分:3
注 册:2013-3-15
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:10 
VFP如何查询学生个人信息
thisform.refresh
xh=alltrim(thisform.text1.value)
xm=alltrim(thisform.text2.value)
select 学生个人信息表
go top
set filter to xh=alltrim(学号) .and. xm=alltrim(姓名)
if found()==.f.
 messagebox("查无此人",16,"失败")
 else
 browse
 endif
thisform.refresh
代码如上,为什么每次查询都会弹出“查无此人”呢?不管学学号和姓名对不对得上!!!如果代码是下面的话又会出现查找到空白表thisform.refresh
xh=alltrim(thisform.text1.value)
xm=alltrim(thisform.text2.value)
select 学生个人信息表
go top
set filter to xh=alltrim(学号) .and. xm=alltrim(姓名)
 browse
 thisform.refresh
求指点
搜索更多相关主题的帖子: filter 查询 个人信息 如何 
2013-03-17 14:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
set filter to之后,必须移动一下记录指针,比如goto top。然后,不是用found()判断的,你这样found()当然是.f.了,所以总是落在那个代码段上,显示“找不到”。found()只用于locate和seek搜索指令,set filter to无用。goto top之后,直接browse就是了。如果要判断是否空,在goto top之后判断eof()是否为.t.。

[ 本帖最后由 TonyDeng 于 2013-3-17 15:11 编辑 ]

授人以渔,不授人以鱼。
2013-03-17 14:57
摇曳的风车
Rank: 1
等 级:新手上路
帖 子:58
专家分:3
注 册:2013-3-15
收藏
得分:0 
回复 2楼 TonyDeng
我修改了一下代码如下就可以了,谢谢
thisform.refresh
xh=alltrim(thisform.text1.value)
xm=alltrim(thisform.text2.value)
select 学生个人信息表
go top
set filter to xh=alltrim(学号) .and. xm=alltrim(姓名)
go top
if eof()=.t.
 messagebox("查无此人",16,"失败")
 else
 browse
 endif
thisform.refresh
我还有个问题就是我每次运行表单时,原来的文本框却都还有之前输入的数据,如何让我每次运行表单时都刷新一遍变成空的文本框呢?thisform.refresh
这句代码都没有用的么?
2013-03-17 15:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
给文本框的value赋空值。不要给文本框的ControlSource绑定数据源,那样必定会显示数据源当前的数据,用普通无绑定的文本框即可。

授人以渔,不授人以鱼。
2013-03-17 15:12
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
thisform.refresh
thisform.text1.value=""
thisform.text2.value=""
2013-03-17 15:14
摇曳的风车
Rank: 1
等 级:新手上路
帖 子:58
专家分:3
注 册:2013-3-15
收藏
得分:0 
回复 4楼 TonyDeng
我text1有值啊就是xh,text2也有值是xm,不过刷新后没有重新把他们的值清空所以还是之前的数据,按照楼下的在最后加上赋空值就好了,谢谢你们啦
2013-03-17 15:58
摇曳的风车
Rank: 1
等 级:新手上路
帖 子:58
专家分:3
注 册:2013-3-15
收藏
得分:0 
回复 5楼 tlliqi
在最后加了那两句可以了,谢谢咯
2013-03-17 15:59
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
建议楼主用SQL-SELECT命令查询个人信息
程序代码:
select * from TABNAME WHERE ALLTRIM(姓名)==ALLTRIM(THISFORM.TEXT1.VALUE) AND ALLTRIM(学号)==ALLTRIM(THISFORM.TEXT2.VALUE)
IF _TALLY>0
  *查到信息的代码
ELSE
   =MESSAGEBOX([未查到姓名为:]+ALLTRIM(THISFORM.TEXT1.VALUE)+[ 学号为:]+ALLTRIM(THISFORM.TEXT2.VALUE)+[ 的信息])
ENDIF




[ 本帖最后由 bccn201203 于 2013-3-17 16:07 编辑 ]
2013-03-17 16:02
摇曳的风车
Rank: 1
等 级:新手上路
帖 子:58
专家分:3
注 册:2013-3-15
收藏
得分:0 
回复 8楼 bccn201203
这个语句我还不是很懂运用,不过要查询成绩存储在一个临时表中并能输出打印可以用这个语句么?是不是都要转成报表才能输出打印呢?
2013-03-17 16:10
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
以下是引用摇曳的风车在2013-3-17 16:10:18的发言:

这个语句我还不是很懂运用,不过要查询成绩存储在一个临时表中并能输出打印可以用这个语句么?是不是都要转成报表才能输出打印呢?
不明白的地方,可以看VFP的帮助文件,帮助文件是最好的老师。
2013-03-17 16:11
快速回复:VFP如何查询学生个人信息
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024172 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved