 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
hw
註冊時間: 2013-04-27 文章: 5
第 1 樓
|
發表於: 星期六 四月 27, 2013 8:21 am 文章主題: 請問如何 尋找→全部取代 |
|
|
有個台南慈善組織,成員系統是用VFP 6 寫的,但已年久沒有維護。
想請問如何將 data_a.dbf 檔案中的 地址欄位 '台南縣' 全部取代成 '台南市'
PS:
這應該是很笨的一個問題,我只是純幫忙,會ECXCEL,但在VFP中的尋找取代功能,不像 EXCEL那樣簡單好用,因此請各位高手能幫忙指點一下。
謝謝!(成員系統中的電腦,有 VFP 6.0程式)
再次感謝! |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 2 樓
|
發表於: 星期六 四月 27, 2013 8:28 am 文章主題: |
|
|
進入 vfp 6
有一個命令方框 如果沒有 選程式 執行
打入命令
set defa to c:\myfilelocationdirectory (dbf 所在的資烙夾名稱)
use data_a
repl all 地址欄位 with "台南市" for 地址欄位="台南縣"
use
這就可以了 |
|
回頂端 |
|
 |
hw
註冊時間: 2013-04-27 文章: 5
第 3 樓
|
發表於: 星期六 四月 27, 2013 8:44 am 文章主題: |
|
|
感謝 bx1166 !
已改成功了!
想再請問一下,有沒有 EXCLUSIVE,會有差別嗎?
剛執行的:
USE d:\XX功德會\測試資料\dbf\data_a.dbf EXCLUSIVE
BROWSE LAST
repl all a_addt with "台南市善化區" for a_addt="台南縣善化鎮"
bx1166 寫到: | 進入 vfp 6
有一個命令方框 如果沒有 選程式 執行
打入命令
set defa to c:\myfilelocationdirectory (dbf 所在的資烙夾名稱)
use data_a
repl all 地址欄位 with "台南市" for 地址欄位="台南縣"
use
這就可以了 |
|
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 4 樓
|
發表於: 星期六 四月 27, 2013 10:05 am 文章主題: |
|
|
exclusive 指不分享 獨占
通常排序 還有一些大量更動時 都需要excl
讀取 跟一兩筆的異動 就不需要
要看是不是單機版本的 還是多機共用資料版的
單機版的 這方面的問題 直接全開成excl 比較方便
多機版的 就要考慮有沒有人 同時存取此資料檔案 |
|
回頂端 |
|
 |
hw
註冊時間: 2013-04-27 文章: 5
第 5 樓
|
發表於: 星期六 四月 27, 2013 10:20 am 文章主題: |
|
|
ok,感謝說明!
以後有問題時,希望能再請教您,謝謝! |
|
回頂端 |
|
 |
hw
註冊時間: 2013-04-27 文章: 5
第 6 樓
|
發表於: 星期六 四月 27, 2013 12:06 pm 文章主題: |
|
|
實際操作,發現有五都更新都要改地址…
想請問:
1、如果打錯字了,如何復原?(undo,ctrl+z的功能)
2、若用excel,輸入兩欄:舊地址,新地址,可以用這兩欄來作批次更改嗎?
(這好像很難…)
感謝! |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 7 樓
|
發表於: 星期六 四月 27, 2013 12:54 pm 文章主題: |
|
|
可以一行一行的 用notepad寫成類似批次檔的 命名為 xxx.prg
或者 命令方框理 modi comm xxx
存檔
命令方框理 do xxx
就可以一次解決
怕出錯 先備檔一下 弄錯了 去修改 prg 存回備檔 再來一次
這就是vfp 最方便的地方 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 8 樓
|
發表於: 星期六 四月 27, 2013 3:35 pm 文章主題: |
|
|
五都改址,另得注意其鄉鎮市村都要一併修改,鄉鎮市要改成區,村要改成里
以下程式可供參考
Procedure 改址程序
Lparameters vTable , vField
Wait "五都改址:"+vTable Window Nowait
Update (vTable) Set &vField = Strtran(&vField,"巿","市")
Update (vTable) Set &vField = Strtran(&vField,"台","臺") Where Left(&vField,2) = "台"
Update (vTable) Set &vField = Strtran(&vField,"鄉","區") Where Left(&vField,6) $ "臺北縣,臺南縣,臺中縣,高雄縣"
Update (vTable) Set &vField = Strtran(&vField,"鎮","區") Where Left(&vField,6) $ "臺北縣,臺南縣,臺中縣,高雄縣"
Update (vTable) Set &vField = Strtran(&vField,"市","區") Where Left(&vField,6) $ "臺北縣,臺南縣,臺中縣,高雄縣"
Update (vTable) Set &vField = Strtran(&vField,"村","里") Where Left(&vField,6) $ "臺北縣,臺南縣,臺中縣,高雄縣"
Update (vTable) Set &vField = Strtran(&vField,"臺北縣","新北市") Where &vField Like "臺北縣%"
Update (vTable) Set &vField = Strtran(&vField,"臺南縣","臺南市") Where &vField Like "臺南縣%"
Update (vTable) Set &vField = Strtran(&vField,"臺中縣","臺中市") Where &vField Like "臺中縣%"
Update (vTable) Set &vField = Strtran(&vField,"高雄縣","高雄市") Where &vField Like "高雄縣%"
Update (vTable) Set &vField = Strtran(&vField,"左區區","左鎮區") Where &vField Like "臺南市%"
Update (vTable) Set &vField = Strtran(&vField,"新區區","新市區") Where &vField Like "臺南市%"
Use In (vTable)
Wait Clear
Return
除了左鎮和新市外,不知還有沒有其它要二次修改的?有的話,請幫忙提出!
ckp6250 在 星期日 四月 28, 2013 2:53 pm 作了第 1 次修改 |
|
回頂端 |
|
 |
hw
註冊時間: 2013-04-27 文章: 5
第 9 樓
|
發表於: 星期日 四月 28, 2013 10:28 am 文章主題: |
|
|
感謝 ckp6250 與 bx1166 熱心的回覆
待上班日時,我去該慈善團體試試
有這種方法,應該會非常方便! |
|
回頂端 |
|
 |
jerryclt
註冊時間: 2009-03-10 文章: 334 來自: 佛心來的
第 10 樓
|
發表於: 星期一 四月 29, 2013 9:13 am 文章主題: |
|
|
嗯...是慈善機構,
能不收費就不收費,
咱們設計人員喝西北風也不會餓死 ^^
回正題,
如果是 replace 置換的字元打錯,
只要再執行一次正確的語法就OK了!
repl all 地址欄位 with "台中市" for 地址欄位="台南縣" <-- 打錯字
repl all 地址欄位 with "台南市" for 地址欄位="台中市" <-- 把錯的字再改一次就好 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|