VFP表单中如何给查询command1编写按学号查询的代码?实现查询功能

我建立了一个表单如下图现在需要实现的就是编写查询的代码,在查询的CLICK事件中编写:temp=MESSAGEBOX("确定输入无误吗?",4+32+256,"提示!")... 我建立了一个表单如下图

现在需要实现的就是编写查询的代码,在查询的CLICK事件中编写:
temp=MESSAGEBOX("确定输入无误吗?",4+32+256,"提示!")
IF temp=6
SELECT * from jwxx!stu where stu.学号=ALLTRIM(thisform.text1.value);
order by stu.学号 into cursor tempcursor
thisform.grid1.RecordSource=tempcursor
ENDIF
在查询的INIT事件中编写
PUBLIC tempcursor
最后运行表单时,首页直接显示全部stu表的全部数据,输入学号后点查询,表格数据就全空了,怎么实现刚开始看见的就是一张空的表,然后查询什么就显示什么,希望大神能帮我解答一下!谢谢!
展开
 我来答
baitia0
推荐于2016-07-08 · TA获得超过2506个赞
知道大有可为答主
回答量:2275
采纳率:80%
帮助的人:2074万
展开全部
1, 表单得init中无需PUBLIC tempcursor, 临时表不是变量, 你不关闭它,它就不会消失
2, 在表单的init中加入这句,可以使一打开表单,表格不显示stu数据:
thisform.grid1.recordsource=''
3,click事件代码做如下优化, 2处, 第一处是生成临时表前再次使recordsource为空,; 第二处是在字段上也加alltrim函数, 因此表里的字段后面也有空格:

temp=MESSAGEBOX("确定输入无误吗?",4+32+256,"提示!")
IF temp=6
thisform.grid1.recordsource=''
SELECT * from jwxx!stu where alltrim(stu.学号)=ALLTRIM(thisform.text1.value);
order by stu.学号 into cursor tempcursor
thisform.grid1.RecordSource='tempcursor'
ENDIF

另外, 你倒数第二行的,设置表格数据源时, 临时表要加引号!!!!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式