  | 
				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 地址欄位="台中市" <-- 把錯的字再改一次就好 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |