关于我做的查询表单,其程序代码如下,运行时问题很多

DOOR9876 2009-10-29 10:07:19
cb_date1=thisform.pageframe1.page1.text3.value
co_date1=thisform.pageframe1.page1.text4.value
flag1=thisform.pageframe1.page1.check1.value
flag2=thisform.pageframe1.page1.check2.value
flag3=thisform.pageframe1.page1.check3.value
flag4=thisform.pageframe1.page1.check4.value
if (flag1=.f.) and (flag2=.f.) and (flag3=.f.) and (flag4=.f.)
messagebox("没有填写查询条件",32,"提示")
thisform.pageframe1.page1.text1.setfocus
endif
if (flag1=.t.) and (flag2=.f.) and (flag3=.f.) and (flag4=.f.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.报检号==allt(thisform.pageframe1.page1.text1.value)
endif
if reccount()=0
messagebox("这个报检号没有查验记录",0,"查询信息")
endif
if (flag1=.f.) and (flag2=.t.) and (flag3=.f.) and (flag4=.f.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.货主==allt(thisform.pageframe1.page1.text2.value)
endif
if reccount()=0
messagebox("这个货主没有查验记录",0,"查询信息")
endif
if (flag1=.f.) and (flag2=.f.) and (flag3=.t.) and (flag4=.f.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue)
endif
if reccount()=0
messagebox("这个代理公司没有查验记录",0,"查询信息")
endif
if (flag1=.f.)and(flag2=.f.)and(flag3=.f.)and(flag4=.t.)
select 查验登记表.报检号,代理公司,货主,输出国家,木包装数量,二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.日期 between cb_date1 and co_date1;

if reccount()=0
messagebox("这个时间段没有查验记录",0,"查询信息")
endif
endif

if (flag1=.f.) and (flag2=.f.) and (flag3=.t.) and (flag4=.t.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue) and (查验登记表.日期 between cb_date1 and co_date1)
endif
if reccount()=0
messagebox("这个代理公司没有查验记录",0,"查询信息")
endif
if (flag1=.f.) and (flag2=.t.) and (flag3=.t.) and (flag4=.f.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue) and 查验登记表.货主==allt(thisform.pageframe1.page1.text2.value)
endif
if reccount()=0
messagebox("没有查验记录",0,"查询信息")
endif
if (flag1=.f.) and (flag2=.t.) and (flag3=.f.) and (flag4=.t.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue) and (查验登记表.日期 between cb_date1 and co_date1)
endif
if reccount()=0
messagebox("没有查验记录",0,"查询信息")
endif

if (flag1=.f.) and (flag2=.t.) and (flag3=.t.) and (flag4=.t.)
select 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where (查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue)) and (查验登记表.日期 between cb_date1 and co_date1);
and (查验登记表.货主==allt(thisform.pageframe1.page1.text2.value))
endif
if reccount()=0
messagebox("这个代理公司没有查验记录",0,"查询信息")
endif

[img=c:\C:\Documents and Settings\Administrator\图片收藏\cx


以上是查询的程序代码,我想使用单个查询或者组合查询均可实现,就是在文本框前加个复选框来实现,可是实际运行时,如果选中某个复选框,如果查询结果没有,他会跳出很多提示:比如这个货主没有查验记录,这个报检号没有查验记录,而明明我选的只有货主一个复选框.
...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lc_apple 2009-10-30
  • 打赏
  • 举报
回复
你的代码有点问题!给你调整一下,你试试
cb_date1=thisform.pageframe1.page1.text3.value
co_date1=thisform.pageframe1.page1.text4.value
flag1=thisform.pageframe1.page1.check1.value
flag2=thisform.pageframe1.page1.check2.value
flag3=thisform.pageframe1.page1.check3.value
flag4=thisform.pageframe1.page1.check4.value
DO case
CASE (flag1=.f.) and (flag2=.f.) and (flag3=.f.) and (flag4=.f.)
MESSAGEBOX("没有填写查询条件",32,"提示")
thisform.pageframe1.page1.text1.setfocus
CASE (flag1=.t.) and (flag2=.f.) and (flag3=.f.) and (flag4=.f.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.报检号==allt(thisform.pageframe1.page1.text1.value)
IF reccount()=0
MESSAGEBOX("这个报检号没有查验记录",0,"查询信息")
ENDIF
CASE (flag1=.f.) and (flag2=.t.) and (flag3=.f.) and (flag4=.f.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.货主==allt(thisform.pageframe1.page1.text2.value)
IF reccount()=0
MESSAGEBOX("这个货主没有查验记录",0,"查询信息")
ENDIF
CASE (flag1=.f.) and (flag2=.f.) and (flag3=.t.) and (flag4=.f.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue)
IF reccount()=0
MESSAGEBOX("这个代理公司没有查验记录",0,"查询信息")
ENDIF
CASE (flag1=.f.)and(flag2=.f.)and(flag3=.f.)and(flag4=.t.)
SELECT 查验登记表.报检号,代理公司,货主,输出国家,木包装数量,二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.日期 between cb_date1 and co_date1;

IF reccount()=0
MESSAGEBOX("这个时间段没有查验记录",0,"查询信息")
ENDIF
CASE (flag1=.f.) and (flag2=.f.) and (flag3=.t.) and (flag4=.t.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue) and (查验登记表.日期 between cb_date1 and co_date1)
IF reccount()=0
MESSAGEBOX("这个代理公司没有查验记录",0,"查询信息")
ENDIF
CASE (flag1=.f.) and (flag2=.t.) and (flag3=.t.) and (flag4=.f.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue) and 查验登记表.货主==allt(thisform.pageframe1.page1.text2.value)
IF reccount()=0
MESSAGEBOX("没有查验记录",0,"查询信息")
ENDIF
CASE (flag1=.f.) and (flag2=.t.) and (flag3=.f.) and (flag4=.t.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where 查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue) and (查验登记表.日期 between cb_date1 and co_date1)
IF reccount()=0
MESSAGEBOX("没有查验记录",0,"查询信息")
ENDIF

CASE (flag1=.f.) and (flag2=.t.) and (flag3=.t.) and (flag4=.t.)
SELECT 查验登记表.报检号,查验登记表.代理公司,查验登记表.货主,查验登记表.输出国家,查验登记表.木包装数量,查验登记表.二维码,;
查验登记表.IPPC标识,查验登记表.疫情情况,查验登记表.是否处罚,查验登记表.是否采样,查验登记表.日期;
from 查验登记!查验登记表;
where (查验登记表.代理公司==allt(thisform.pageframe1.page1.combo1.displayvalue)) and (查验登记表.日期 between cb_date1 and co_date1);
and (查验登记表.货主==allt(thisform.pageframe1.page1.text2.value))
IF reccount()=0
MESSAGEBOX("这个代理公司没有查验记录",0,"查询信息")
ENDIF
OTHERWISE
ENDCASE
RETURN
DOOR9876 2009-10-30
  • 打赏
  • 举报
回复
非常感谢

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧