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

有兩個問題想請教一下

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



註冊時間: 2007-11-22
文章: 3


第 1 樓

發表發表於: 星期四 十一月 22, 2007 11:40 am    文章主題: 有兩個問題想請教一下 引言回覆

1. 最近有個任務需要把字型檔(eudc.tte)內的造字取出來放入資料庫內, 例如從FA40-FB4F, 不知道有什麼方法可以解決?

2. 比對資料庫內資料是否有重複的時候, 小弟通常都是用"SELECT DISTINCT * FROM xxx INTO TABLE no_double", 可是這有個問題, 因為比對資料的方式是包含所有的欄位一起比對, 全部不相同的才會踢除.
可是如果我只需要比對其中一個欄位, 例如a1, 這時如果我下指令"SELECT DISTINCT a1 FROM xxx INTO TABLE no_double", 他就變成只會把a1這個欄位複製到"no_double"的table內.
不知道有沒有其他的解決方法?

請各位前輩指教, 謝謝
回頂端
檢視會員個人資料 發送私人訊息
wuno2001



註冊時間: 2007-02-09
文章: 56


第 2 樓

發表發表於: 星期四 十一月 22, 2007 1:47 pm    文章主題: 引言回覆

問題2:
試試 SELECT * FROM xxx group by a1 INTO TABLE no_double
但是,當重覆時會取出recno()較大者

SELECT *,count(*) as 出現次數 FROM xxx group by a1 INTO TABLE no_double

如果再選出現次數=1者就是未重覆者
回頂端
檢視會員個人資料 發送私人訊息
grapfrut



註冊時間: 2007-11-22
文章: 3


第 3 樓

發表發表於: 星期四 十一月 22, 2007 3:54 pm    文章主題: 引言回覆

了解了
謝謝您的解答 ^^
回頂端
檢視會員個人資料 發送私人訊息
grapfrut



註冊時間: 2007-11-22
文章: 3


第 4 樓

發表發表於: 星期三 十一月 28, 2007 4:46 pm    文章主題: 引言回覆

問題二經過wuno2001大的提示
把敘述改成"SELECT address, COUNT(address) tmpAdd FROM a1 GROUP BY address ORDER BY tmpAdd"之後便可以執行
不過還是只能選擇單獨一個欄位, 沒辦法一次秀出所有欄位

問題一也解決了....
解決方法是用chr(x)這個函數,
如要8E40這個內碼字, 前面的16進位數字8E換算是142, 後面的40換算是64
所以使用"replace XX with allt(chr(142)+chr(64))"把他秀出來 *因為中文是兩個字元組成的
在配合迴圈就能把所有造字檔裡面的內碼字叫出來了.
回頂端
檢視會員個人資料 發送私人訊息
wuno2001



註冊時間: 2007-02-09
文章: 56


第 5 樓

發表發表於: 星期四 十一月 29, 2007 9:41 am    文章主題: 引言回覆

試試
SELECT *, COUNT(*) as tmpAdd FROM a1 GROUP BY address ORDER BY tmpAdd
回頂端
檢視會員個人資料 發送私人訊息
catfish



註冊時間: 2003-05-29
文章: 45
來自: 台中

第 6 樓

發表發表於: 星期二 十二月 04, 2007 11:10 am    文章主題: 引言回覆

可以請教一下,要如何讀取eudc.tte這個檔嗎?
我無法判別它的格式....
謝謝您! Razz
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
catfish



註冊時間: 2003-05-29
文章: 45
來自: 台中

第 7 樓

發表發表於: 星期二 十二月 04, 2007 11:16 am    文章主題: 引言回覆

哦! 我瞭解您的作法了,
不好意思,佔用這個篇幅! ^^
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Watermelon



註冊時間: 2005-01-22
文章: 204


第 8 樓

發表發表於: 星期四 六月 19, 2008 1:21 pm    文章主題: 引言回覆

wuno2001 寫到:
問題2:
試試 SELECT * FROM xxx group by a1 INTO TABLE no_double
但是,當重覆時會取出recno()較大者

SELECT *,count(*) as 出現次數 FROM xxx group by a1 INTO TABLE no_double

如果再選出現次數=1者就是未重覆者


我用 SELECT * FROM xxx group by a1 INTO TABLE no_double
但是當重覆時為會取出recno()較小者,請問我的電腦是出了啥問題?
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 9 樓

發表發表於: 星期四 六月 19, 2008 1:46 pm    文章主題: 引言回覆

沒什麼問題,
"SELECT * FROM xxx group by a1 INTO TABLE no_double " 基本上就是VFP亂搞的.
其他工具的SQL 這樣寫是錯的.
趁早改掉比較好.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
區榮熾



註冊時間: 2005-11-14
文章: 191


第 10 樓

發表發表於: 星期四 六月 19, 2008 7:48 pm    文章主題: 引言回覆

Watermelon 寫到:
wuno2001 寫到:
問題2:
試試 SELECT * FROM xxx group by a1 INTO TABLE no_double
但是,當重覆時會取出recno()較大者

SELECT *,count(*) as 出現次數 FROM xxx group by a1 INTO TABLE no_double

如果再選出現次數=1者就是未重覆者


我用 SELECT * FROM xxx group by a1 INTO TABLE no_double
但是當重覆時為會取出recno()較小者,請問我的電腦是出了啥問題?


A: 1:當要對資料庫整理重複篩檢的工作,是件不輕鬆的工作,工作量的輕重是由 資 料庫組成的欄位多少,及資料筆數多少,每筆的長度*欄位的總和+1, 這表示工作量要先知道,這樣才能決定工作的深度.(有時間做繁些,否則挑簡易的)
2:將 Cot > 1 的從 no_double 列印出.
3:將印出資料表與正確的資料比對,以人工判定何者留,何者殺
4:當判定工作完成,即進行清理資料(將不留的pack)的工作.
5:用SCAN -> Delete -> EndScan -> Pack(最後做) 進行清理工作
(有多少欄想重整,就做多少次)(一定要把 3: 做完整才不會DElete 錯誤)
B: Recno()的大小排列是該電腦預設的,電腦沒問題.

以上是我處理重整資料庫的方式,提供參考.....
回頂端
檢視會員個人資料 發送私人訊息
Watermelon



註冊時間: 2005-01-22
文章: 204


第 11 樓

發表發表於: 星期日 十一月 01, 2009 4:23 am    文章主題: 引言回覆

catfish 寫到:
可以請教一下,要如何讀取eudc.tte這個檔嗎?
我無法判別它的格式....
謝謝您! Razz


grapfrut 大大您好!
我也想知道要如何讀取eudc.tte這個檔,您都會了能分享一下嗎?
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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