vfp表单在查询时的问题。

查询的代码:closealluse医师locatefor编号=alltrim(ThisForm.Text1.Value)if.not.found()WAIT"编号不存在,... 查询的代码:
close all
use 医师
locate for 编号=alltrim(ThisForm.Text1.Value)
if .not. found()
WAIT "编号不存在,请重新输入" WINDOWS TIMEOUT 5
else
ThisForm.Grid1.Recordsource="sele 姓名,基本工资,职务补贴 from 医师,工资 where 医师.编号=alltrim(ThisForm.Text1.Value) and 医师.编号=工资.编号 into cursor gz1"
select * from gz1
go top
endif

但是在运行表单的时候却显示

求大神指教。急
展开
 我来答
FreeSoftnc
2013-04-04 · TA获得超过118个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:272万
展开全部
查询的代码:
close all &&这里就导致你的GRID空白了!
****加下面一行
thisform.grid1.recordsource=“”
*****操作前先设置GRID源弊铅为NULL或空,然后再搞回来就能正常显示了。
use 医师
locate for 编号=alltrim(ThisForm.Text1.Value)
if .not. found()
WAIT "编号不存在,请乎卜扒重岁昌新输入" WINDOWS TIMEOUT 5
else
ThisForm.Grid1.Recordsource="sele 姓名,基本工资,职务补贴 from 医师,工资 where 医师.编号=alltrim(ThisForm.Text1.Value) and 医师.编号=工资.编号 into cursor gz1"
select * from gz1
go top
endif
*******
追问
你好,语法上这样没错,可是右边还是说编号不存在,请从新输入。麻烦你再想想还有啥可能额?非常感谢
追答
用变量,不要用thisform.XXX
cInBh=allt(thisform.text1.value)
cDb1=''医师"
cDb2="工资"
if !empt(cInBh)
thisform.grid1.recordsource=“”

if !used(cDb1)
use &cDb1 in 0
endif
if !used(cdb2)
use &cdb2 in0
endif
ThisForm.Grid1.Recordsource="sele 姓名,基本工资,职务补贴 from 医师,工资 where cInbh=allt(医师.编号) and 医师.编号=工资.编号 into cursor gz1"

if recc('gz1')>0
sele gz1
go top
else
WAIT "编号不存在,请重新输入" WINDOWS TIMEOUT 5

endif
endif
Xing尘
2013-04-04 · TA获得超过117个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:150万
展开全部
在查询里写上
temp_bh=alltrim(ThisForm.Text1.Value)
thisform.grid1.RecordSourcetype=1
thisform.grid1.RecordSource=[]
sele * from (sele a.编号,a.姓名侍洞,b.基本工资,b.职老弊枯务补贴 from 医师 a inne join 工资 b on a.编号=b.编号)c where c.编卜手号=temp_bh into cursor gz1
if recc([gz1])>0 and !empty(c.编号)
messagebox([编号不存在,请重新输入],0,[])
else
thisform.grid1.RecordSource=[gz1]
endi
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式