>有关ORDER BY 的用法,请教大家??<

heavenmusic 2003-11-29 06:42:08
我的FORM里,用CHECK 进控制,在SELECT 中,是否用到ORDER BY .

当Thisform.check.value = 0 时,select 当中,不需要ORDER BY .如果用IF..ELSE..ENDIF .

If Thisform.check.value = 0
select * from mydbf into cursor temp
else
select * from mydbf order by id into cursor temp
endif

请问,有没有比较简单的方法,写相同于以上的功能的句子.
(主要原因,是因为我的SELECT 句子太长啦,所以不想用IF...ELSE...ENDIF)..

谢谢,请大家多指点....:)
...全文
27 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
heavenmusic 2003-12-03
这不知道是不是表达不太好......差不多的意思如: sunsunup(剛上csdn) 所写的...

主要是想简化ORDER BY的过程....

宏代替,本身我有在用...:)
回复
gwbmhgjs 2003-12-03
可以用视图的方法比较简单,建立2个视图,一个有排序的,另一个不排序,根据条件选择不同的视图,再送到临时表中.是否简单些!
回复
ZhuJiaWei 2003-12-02
试试看 用字符串把SELETE写出来,然后用宏代换
例如
a="selete ...."
b="order by ..."
c="from ... "

if ...
d=a+c
else
d=a+b+c
endif
&d
我就是这么用的。
回复
sunsunup 2003-12-01
ordby = iif(thisform.checkvalue = 0,'1','name')
select * from tableA into cursor temp order by &ordby
回复
sunsunup 2003-12-01
ordby = iif(thisform.checkvalue = 0,'1','name')
select * into cursor temp order by &ordby
回复
sunsunup 2003-12-01
結構是最簡單的了, 但select 後的內容可用宏替換
回复
ekekyn 2003-12-01
用宏替换呀
if Thisform.check.value = 0 then
sVar='select * from ...'
else
sVar='select * from ...'
endif
&svar

或者
str1='select * from ...'
str2='select * from ...'
iif(thisform.check.value=0,&str1,&str2)
回复
newfang 2003-12-01
if Thisform.check.value = 0 then
sVar=''
else
sVar='order by fieldName'
endif
SelectCommand='select ...'+sVar+'...'
&SelectCommand
回复
heavenmusic 2003-11-30
UP
回复
heavenmusic 2003-11-29
UP
回复
发动态
发帖子
VFP
创建于2007-09-28

2455

社区成员

VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
申请成为版主
社区公告
暂无公告