标题:[求助]关于查询中表格的使用问题?
只看楼主
jun83
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-5-16
 问题点数:0 回复次数:6 
[求助]关于查询中表格的使用问题?
我建立了一个查询表单,其中Optiongroup1是表示选择不同的车间的,combo1表示选者不同的查询字段,我用下面的程序,对于相同的查询只能查询一次,再运行一次以后就会显示程序错误:同名的程序对象已经存在!请高手指点应该如何改进!
if thisform.Optiongroup1.value=1
set talk off
close all
use c:\检修车间设备台帐.dbf
IF NOT Empty(ThisForm.text1.value)
if ThisForm.combo1.value="设备序号"
Select 设备序号,设备名称,设备型号,设备编号,设备状态,设备原值(元);
from c:\检修车间设备台帐.dbf;
where 检修车间设备台帐.设备序号=ThisForm.text1.value into table mycursor1
select mycursor1 &&mycursor为查询结果临时表,由SQL语句生成
go top
thisform.addobject('grid1','grid')
thisform.grid1.refresh
thisform.grid1.visible=.t.
thisform.grid1.left=150
thisform.grid1.top=100
thisform.grid1.width=546
thisform.grid1.height=268
thisform.grid1.deletemark=.F.
thisform.show
endif
if ThisForm.combo1.value="设备编号"
Select 设备序号,设备名称,设备型号,设备编号,设备状态,设备原值(元);
from c:\检修车间设备台帐.dbf;
where 检修车间设备台帐.设备编号=ThisForm.text1.value into table mycursor2
select mycursor2 &&mycursor为查询结果临时表,由SQL语句生成
go top
thisform.addobject('grid2','grid')
thisform.grid2.refresh
thisform.grid2.visible=.t.
thisform.grid2.left=150
thisform.grid2.top=100
thisform.grid2.width=546
thisform.grid2.height=268
thisform.grid2.deletemark=.F.
thisform.show
endif
if ThisForm.combo1.value="设备名称"
Select 设备序号,设备名称,设备型号,设备编号,设备状态,设备原值(元);
from c:\检修车间设备台帐.dbf;
where 检修车间设备台帐.设备名称=ThisForm.text1.value into table mycursor3
select mycursor3 &&mycursor为查询结果临时表,由SQL语句生成
go top
thisform.addobject('grid3','grid')
thisform.grid3.refresh
thisform.grid3.visible=.t.
thisform.grid3.left=150
thisform.grid3.top=100
thisform.grid3.width=546
thisform.grid3.height=268
thisform.grid3.deletemark=.F.
thisform.show
endif
endif
endif
搜索更多相关主题的帖子: 表格 设备 序号 ThisForm 车间 
2006-05-23 11:53
中国龙王
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:484
专家分:283
注 册:2006-5-17
得分:0 
在向对象添加Grid1。。。2。。。3前,要先释放已有的Grid1...2...3

不要为了打发无聊而做无聊的事!不要在虚幻的世界里做虚幻的事!
2006-05-23 15:03
jun83
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-5-16
得分:0 

那请问应该怎么才能实现呢?

2006-05-23 16:24
中国龙王
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:484
专家分:283
注 册:2006-5-17
得分:0 

加在IF EMPTY()前面


不要为了打发无聊而做无聊的事!不要在虚幻的世界里做虚幻的事!
2006-05-23 16:37
jun83
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-5-16
得分:0 
有具体知道纠正这个 程序的高手吗,急要啊!
2006-05-24 10:52
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 

程序冗长,但最快的修改就是在最前面加上
IF TYPE("THISFORM.GRID1")="O"
THISFORM.REMOVEOBJECT("GRID1")
ENDIF
IF TYPE("THISFORM.GRID2")="O"
THISFORM.REMOVEOBJECT("GRID2")
ENDIF
IF TYPE("THISFORM.GRID3")="O"
THISFORM.REMOVEOBJECT("GRID3")
ENDIF


感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-05-24 11:06
jun83
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-5-16
得分:0 
这个问题已经顺利解决,非常敬佩兄台Tiger5392!!
2006-05-24 14:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-66452-1-1.html




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

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