>有关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)..

谢谢,请大家多指点....:)
...全文
58 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

2,723

社区成员

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

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