标题:!!!!select * from 的问题,宏的使用!!!!
取消只看楼主
dochjp
Rank: 2
来 自:福州
等 级:论坛游民
帖 子:80
专家分:20
注 册:2011-4-20
结帖率:78.26%
已结贴  问题点数:10 回复次数:2 
!!!!select * from 的问题,宏的使用!!!!
我用select 命令对一个表“学生成绩表”进行如下操作:

               学生成绩表.dbf
姓名     学号     英语      数学
张三    050405     87        95
李四    050403     80        65
王五    050404     65        55
小三    050401     75        85

     select * from 学生成绩表;
     where 姓名 like "%"+allt(thisform.text1.value)+"%".and. 学号 like "%"+allt(thisform.text2.value)+"%";
     .and.英语>=val(allt(thisform.text3.value)).and.数学>=val(allt(thisform.text4.value))
     order by 学号 into dbf 临时表.dbf
     thisform.grid1.recordsourcetype=1
     thisform.grid1.recordsource="临时表"
当然实际进行模糊查找时,查找条件比这些多很多,我想用“宏”命令替换上述的命令,请教下各位前辈,应该如何进行呢?给我个指示吧。
比如:
public s
s=''
xh=allt(thisform.text1.value)
xm=allt(thisform.text2.value)
yy=val(allt(thisform.text3.value))
sx=val(allt(thisform.text4.value))
if len(xh)>0
  s=s+"%"+xh+"%"
endif
if len(xm)>0
  s=s+".and."+"%"+xm+"%"
endif
if !empty(allt(thisform.text3.value))>0
  s=s+".and."+"英语>=yy"
endif
if !empty(allt(thisform.text4.value))>0
  s=s+".and."+"数学>=sx"
endif
Do while left(s,5)='.AND.'.or.left(s,5)='.and.'  &&去掉 '.AND.'/'.and.'
  s=substr(s,6)   &&SUBSTR(S,I,N)在S字符串中的第I个字符起取N个字符,SUBSTR('TECHNOLO',3,3)=CHN
Enddo

???     select * from 学生成绩表 where XXXXX
这样可不可以实现呢?上面这句话应该如何表述呢?





搜索更多相关主题的帖子: like 姓名 成绩表 where 小三 
2011-12-04 21:26
dochjp
Rank: 2
来 自:福州
等 级:论坛游民
帖 子:80
专家分:20
注 册:2011-4-20
得分:0 
回复 2楼 qingfameng
嗯,好的,那用select 怎么把宏 联接起来呢,即最后那条select 命令怎么表述?
2011-12-05 08:35
dochjp
Rank: 2
来 自:福州
等 级:论坛游民
帖 子:80
专家分:20
注 册:2011-4-20
得分:0 
回复 4楼 qingfameng
OK。好的
2011-12-05 15:16



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




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

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