关于查询的问题!很急!!!

hpflm 2003-08-29 08:47:31
各位麻烦帮帮忙啊!
问题是这样的:客户要查询市区,房型,朝向,房屋所有权。分别为多个复选框,比如房型分为,套一,套二,朝向分为东,南等等,在查询时客户有可能县选择市区,也可能先选择房型,我想做的就是,不管客户选择按怎样的顺序选择,都可以按条件查询正确的信息,帮帮忙啊,各位!
QQ15173906
...全文
51 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzzm 2003-09-01
  • 打赏
  • 举报
回复
谢谢dfwxj(清风)
coolseancool 2003-08-31
  • 打赏
  • 举报
回复
dfwxj(清风) 我是新手,你的程序我不明白,希望你能讲讲,谢谢
hastj 这个变量干什么用的?
set filt to &tj 这句什么意思?
我还想问诸位大侠一下,我看这个论坛时大家的发言字很小看不清,不知怎么调整
我用IE调字体不能调整大家发言内容的字体大小,怎么办啊?
fj_jiangqi 2003-08-31
  • 打赏
  • 举报
回复
参考楼上们的方法,关键是要利用&替换这一功能。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
hpflm 2003-08-31
  • 打赏
  • 举报
回复
那如果所有的都是复选框呢?
magnetmoon 2003-08-30
  • 打赏
  • 举报
回复
客户要查询市区,房型,朝向,房屋所有权。分别为多个复选框,比如房型分为,套一,套二,朝向分为东,南等等,在查询时客户有可能县选择市区,也可能先选择房型,我想做的就是,
tj='1=1 '
if not empty(thisform.cbo市区.displayValue)
tj=tj+' and 市区=thisform.cbo市区.displayValue '
endif
if not empty(thisform.cbo房型.displayValue)
tj=tj+' and 房型=thisform.cbo房型.displayValue '
endif
if not empty(thisform.cbo朝向.displayValue)
tj=tj+' and 朝向=thisform.cbo朝向.displayValue '
endif
if not empty(thisform.cbo房屋所有权.displayValue)
tj=tj+' and 房屋所有权=thisform.cbo房屋所有权.displayValue '
endif

select * from you_table where &tj
dfwxj 2003-08-30
  • 打赏
  • 举报
回复
楼上朋友的做法看似简单,但不能重复查询,每次查询都需重新启动表单
dfwxj 2003-08-29
  • 打赏
  • 举报
回复
先根据客户的选择生成一个条件表达式然后用宏代换进行条件查询
表单上设计四个复选框,标题分别是市区、房型、朝向、房屋所有权 ,初始值为.f.
四个下拉列表框,数据源分别是市区、房型、朝向、房屋所有权的字段值(去除重复记录),初始值为第一个值
一个表格数据源为数据表
一个命令按钮,用于确定查询
当客户选中某个复选框时,就表示需按该项目的条件进行查询,命令按钮的click事件代码如下:
(假定所有的字段都为字符型)

tj=''
hastj=.f.
if thisform.check1.value
if hastj
tj=tj+' and'
endi
tj=tj+' allt(市区)==allt(thisform.combo1.value)'
hastj=.t.
endi
if thisform.check2.value
if hastj
tj=tj+' and'
endi
tj=tj+' allt(房型)==allt(thisform.combo2.value)'
hastj=.t.
endi
if thisform.check3.value
if hastj
tj=tj+' and'
endi
tj=tj+' allt(朝向)==allt(thisform.combo3.value)'
hastj=.t.
endi
if thisform.check4.value
if hastj
tj=tj+' and'
endi
tj=tj+' allt(房屋所有权)==allt(thisform.combo4.value)'
hastj=.t.
endi
set filt to
set filt to &tj
go top
thisform.grid1.refresh

hpflm 2003-08-29
  • 打赏
  • 举报
回复
客户要求选择套一的,那么套一的就出来,在选择南,结果就是房型是套一,朝向是南的房子
klbt 2003-08-29
  • 打赏
  • 举报
回复
同意楼上。
mgan 2003-08-29
  • 打赏
  • 举报
回复
呵 只要你的字段不变
他的顺序 管他 呢

sele 市区,房型,朝向,房屋所有权 from tablename ;
where 市区=alltrim(thisform.combo1.value) .and.;
房型=alltrim(thisform.combo2.value).and.;
朝向=alltrim(thisform.combo3.value) .and.;
房屋所有权=alltrim(thisform.combo4.value)
在各个COMBO里面设置他的类型
这是所有的一起查询
也可以分开来呀 一个一个的查询


2,722

社区成员

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

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