VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

VFP SQL recno() 使用order by,順序跑掉問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
whh



註冊時間: 2010-04-16
文章: 166


第 1 樓

發表發表於: 星期二 二月 26, 2013 5:27 pm    文章主題: VFP SQL recno() 使用order by,順序跑掉問題 引言回覆

SELECT recno(), 姓名, 電話 ;
FROM MyData ;
ORDER BY 生日 ;
INTO CURSOR CUR_AAA

SELECT AAA
COPY TO C:\CUR_AAA SDF

問題來了如果加了 ORDER BY 生日

recno()的號碼會亂掉
******************************
如果是Oracle的話可以在包一層

SELECT recno(), 姓名, 電話
FROM (
SELECT 姓名, 電話
FROM MyData
ORDER BY 生日)

1. 這樣順序就對了 請問vfp 6要如何做到(測試過在包一層,好像不支援) ?
2. 我如果轉出txt擋,要留欄位抬頭有辦法嗎?
回頂端
檢視會員個人資料 發送私人訊息
bx1166



註冊時間: 2011-12-06
文章: 273


第 2 樓

發表發表於: 星期二 二月 26, 2013 7:35 pm    文章主題: 引言回覆

可以加一個欄位紀錄原來的 recno()
COPY TO TXT 要加入欄位抬頭
我想到的, 只能用 set printer to txtfile 的方法
例如:
set printer to Your_txt.txt
set cons off
set print on
? "Add fiield list here:Name Birthday..."
sele 1
use xxx
go top
do while .not. eof()
? Field_Name+","+Fiel_Birthday+","+Other_Field
sele 1
skip
enddo
?
set print off
set cons on
set print off
retu
回頂端
檢視會員個人資料 發送私人訊息
h02022



註冊時間: 2012-11-28
文章: 35


第 3 樓

發表發表於: 星期三 二月 27, 2013 9:05 am    文章主題: 引言回覆

SELECT 姓名, 電話 ;
FROM MyData ;
ORDER BY 生日 ;
INTO CURSOR CUR_AAA1

SELECT recno(), 姓名, 電話 ;
FROM CUR_AAA1 ;
INTO CURSOR CUR_AAA2

********************簡化********************
SELECT recno(), BB.姓名, BB.電話 ;
FROM ;
(SELECT 姓名, 電話 ;
FROM MyData ;
ORDER BY 生日) BB ;
INTO CURSOR CUR_AAA
********************簡化********************
先排序..後算數字...recno()是按照原本MyData資料表順序排的
所以先ORDER BY在下recno()
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
whh



註冊時間: 2010-04-16
文章: 166


第 4 樓

發表發表於: 星期三 二月 27, 2013 6:38 pm    文章主題: 引言回覆

h02022 寫到:
SELECT 姓名, 電話 ;
FROM MyData ;
ORDER BY 生日 ;
INTO CURSOR CUR_AAA1

SELECT recno(), 姓名, 電話 ;
FROM CUR_AAA1 ;
INTO CURSOR CUR_AAA2

********************簡化********************
SELECT recno(), BB.姓名, BB.電話 ;
FROM ;
(SELECT 姓名, 電話 ;
FROM MyData ;
ORDER BY 生日) BB ;
INTO CURSOR CUR_AAA
********************簡化********************
先排序..後算數字...recno()是按照原本MyData資料表順序排的
所以先ORDER BY在下recno()



這上面就是我說 Oracle的可以用的SQL語法,
但是VFP好像不支援,如法在外面在包一層
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1642


第 5 樓

發表發表於: 星期三 二月 27, 2013 9:20 pm    文章主題: 引言回覆

h02022的方法在VFP9上是可行的
不過,樓主提的是VFP6,手上沒有VFP6可試,就不知行不行了
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
h02022



註冊時間: 2012-11-28
文章: 35


第 6 樓

發表發表於: 星期五 三月 01, 2013 8:59 am    文章主題: 引言回覆

哦...對耶
沒注意SORRY
vfp 6.0 剛測試 這個用↓
****************************
SELECT 姓名, 電話 ;
FROM MyData ;
ORDER BY 生日 ;
INTO CURSOR CUR_AAA1

SELECT recno(), 姓名, 電話 ;
FROM CUR_AAA1 ;
INTO CURSOR CUR_AAA2
****************************
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作