VFP查询表单制作 将一张表的内容通过一个表格控件查询出来,输入姓名就可以查询到表单上的其他内容 50

localcNamecName=alltrim(thisform.txtXM.value)select表1locatefor姓名=cNameiffound()sele表1... local cName
cName=alltrim(thisform.txtXM.value)
select 表1
locate for 姓名=cName
if found()
sele 表1.学号,表1.会计缺勤次数,表1.高数缺勤次数,表1.英语缺勤次数,表1.计算机缺勤次数,表1.微观经济缺勤次数 from 表1 where 表1.姓名=cName order by 表1.学号 into cursor "ling" &&用sele语句将查询结果放入临时表
thisform.grid1.recordsource="ling" &&表格控件的数据源为temp这个临时表
else
messagebox("查无此记录")
endif
这是我遍的查询的代码
不知道哪里错了 点查询没反应 调试器里显示是姓名文本框对象是.F.
请知道怎么做的高手全程教我 实在是不会啊。。。
展开
 我来答
却彤云S4
2011-06-13 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:0%
帮助的人:9100万
展开全部
cName=alltrim(thisform.txtXM.value)
看你的图,文本框的name应该是text1,所以上面换成
cName=alltrim(thisform.text1.value)
试试
更多追问追答
追问
换了还是没用
追答
表加入数据环境了吗,还有,表是不是和表单在同一目录,设置默认目录没有?
你sele语句写得好复杂,只有一个表,就不需要加表1.了
sele * from 表1 where 姓名=cName order by 学号 into cursor "ling"
jack_wang0823
2011-06-14 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1440万
展开全部
你的代码太复杂鸟。 使用 locate for 就不要使用 SELE 了
如果你的表的记录不多, 就不要使用 loca for 和sele sql 直接使用 set filter 命令 简单又直接

1 使用sql 命令是 查询按钮的CLICK 代码
if empty(thisform.txtXM.value)
retu && 如果没有输入姓名, 就直接返回
endif

local cName
cName=alltrim(thisform.txtXM.value)
sele 表1.学号,表1.会计缺勤次数,表1.高数缺勤次数,表1.英语缺勤次数,表1.计算机缺勤次数,表1.微观经济缺勤次数;
from 表1;
where 表1.姓名=cName ;
order by 表1.学号;
into cursor ling &&用sele语句将查询结果放入临时表 (临时表名称不需要引 号)
sele ling
if empty(ling.学号)
messagebox("查无此记录")
retu
endif

thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource="" && 首先要置为空值
thisform.grid1.recordsource="ling" &&表格控件的数据源为temp这个临时表
thisform.grid1.refresh && 刷新一下

2 使用 set filter to

在表单的 INIT 事件中 设置 GRID 和表1的关联
thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource=""
thisform.grid1.recordsource="表1"

查询按钮的CLICK 中的代码
if empty(thisform.txtXM.value)
retu && 如果没有输入姓名, 就直接返回
endif

local cName
cName=alltrim(thisform.txtXM.value)
sele 表1
set filter to allt(表1.姓名)==cName
thisform.grid1.refresh && 刷新一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式