| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5035 人关注过本帖
标题:请教,select .... where 字段 in () 宏替换的问题
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
不太清楚你的具体情况
写代码是根据不同情况来写的

坚守VFP最后的阵地
2018-10-14 14:46
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
where inlist(ALLTRIM(信息名称),jj1,jj2,jj3,jj4,jj5,jj6)

坚守VFP最后的阵地
2018-10-14 15:05
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
   选择相应的复选框,来筛选数据
2018-10-14 15:27
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
回复 22楼 sdta
where inlist(ALLTRIM(信息名称),jj1,jj2,jj3,jj4,jj5,jj6)


这样显示的是所有数据
2018-10-14 15:33
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:371
专家分:1157
注 册:2015-10-2
收藏
得分:5 
给你一个例子参考,是不是这样的

tt.rar (2.36 KB)


[此贴子已经被作者于2018-10-14 17:03编辑过]

2018-10-14 16:50
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:5 
回复 24楼 fhxy123
local jj,jj1,jj2,jj3,jj4,jj5,jj6
jj1=thisform.check1.value
jj2=thisform.check2.value
jj3=thisform.check3.value
jj4=thisform.check4.value
jj5=thisform.check5.value
jj6=thisform.check6.value
jj = ""
jj = IIF(jj1=0,jj,IIF(EMPTY(jj),[allt(信息名称),"春"],jj + [,"春"]))
jj = IIF(jj2=0,jj,IIF(EMPTY(jj),[allt(信息名称),"夏"],jj + [,"夏"]))
jj = IIF(jj3=0,jj,IIF(EMPTY(jj),[allt(信息名称),"秋"],jj + [,"秋"]))
jj = IIF(jj4=0,jj,IIF(EMPTY(jj),[allt(信息名称),"冬"],jj + [,"冬"]))
jj = IIF(jj5=0,jj,IIF(EMPTY(jj),[allt(信息名称),"春夏"],jj + [,"春夏"]))
jj = IIF(jj6=0,jj,IIF(EMPTY(jj),[allt(信息名称),"秋冬"],jj + [,"秋冬"]))
if empty(jj)
   select * FROM 基础信息 INTO CURSOR ls
else
   select * FROM 基础信息 where INLIST(&jj) INTO CURSOR ls
endif

2018-10-14 22:06
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
查询按钮下代码
Local jj[6]
lcTj = ""
For i = 1 To 6
    lcCheck = "Check"+Str(i, 1)
    If ThisForm.&lcCheck..Value = 1
        jj[i] = ThisForm.&lcCheck..Caption
    Else
        jj[i] = ""
    EndIf
    lcTj = lcTj + Iif(Empty(jj[i]), "", ' OR Alltrim(信息名称)==' + "'"+jj[i] + "'")
EndFor
lcTj = Substr(lcTj, 5)
If Empty(lcTj)
    MessageBox("请选择查询内容")
    Return
EndIf
MessageBox(lcTj, 0, "查询条件")
Select * From ss Where &lcTj

结果
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2018-10-14 22:56编辑过]


坚守VFP最后的阵地
2018-10-14 22:11
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:5 
只要保证字符串中的每个项目都加上字符串定界符即可。
示例1:
cjj =  "[秋],[冬]"
sele * from 其他信息 where all(信息名称) in (&cjj)
示例2:
c1 = thisform.check1.caption
c2 = thisform.check2.caption
cjj = ""
if !empty(thisform.check1.value)
    cjj = cjj + ",[" + thisform.check1.caption + "]"
endif
if !empty(thisform.check2.value)
    cjj = cjj + ",[" + thisform.check2.caption + "]"
endif
cjj = subs(cjj,2)
sele * from 其他信息 where all(信息名称) in (&cjj)

特别提示:使用 select 语句的 in 子名时,要注意 set ansi on/off的设置,精确比较时,应采用 set ansi on,相当于 set exact on;不精确比较时,应采用 set ansi off(默认),相当于 set exact off

[此贴子已经被作者于2018-10-15 08:57编辑过]


泉城飞狐
2018-10-15 08:54
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
谢谢各位老大
2018-10-15 17:16
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1738
专家分:3329
注 册:2012-2-29
收藏
得分:0 
向各位大佬学习,谢谢!
2018-10-15 18:18
快速回复:请教,select .... where 字段 in () 宏替换的问题
数据加载中...
 
   



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

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