| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 三月 18, 2011 12:47 pm    文章主題: Grid 如果設定 relation 關聯後,要如何取消關聯 | 
				     | 
			 
			
				
  | 
			 
			
				環境: WinXP , VFP8
 
 
請教各位:
 
我有2個資料表 temp1 , temp2 , 分別顯示於 grid1 , grid2 (如:001.JPG)
 
當我於 temp1 設定 set relation to no into temp2後,temp1 可正常關聯到 temp2 (如:002.JPG)
 
 
問題是: 當我不想要關聯了,我下 set relation to 關閉關聯後,grd2 卻無法
 
顯示出temp2全部的資料,請問我漏掉了什麼動作
 
 
 
採用 jtcom01 和 DennisTsai 的方法:
 
得到003.jpg 的情形
   215001 在 星期六 三月 19, 2011 12:04 pm 作了第 1 次修改 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		jtcom01
 
 
  註冊時間: 2005-07-29 文章: 413
 
  第 2 樓
  | 
		
			
				 發表於: 星期五 三月 18, 2011 3:04 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				試試 ..use temp2
 
         go top
 
        thisform.grd2.refresh() | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 三月 18, 2011 5:00 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝jtcom01 的方法,此方式失敗,grd2只能顯示出剛剛 "關聯值" 之後的資料而已
 
 
還是沒辦法顯示出全部的資料
   215001 在 星期五 三月 18, 2011 6:20 pm 作了第 1 次修改 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		jerryclt
 
 
  註冊時間: 2009-03-10 文章: 334 來自: 佛心來的
  第 4 樓
  | 
		
			
				 發表於: 星期五 三月 18, 2011 5:25 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				select temp1
 
set relation off into temp2
 
 
select temp2
 
go top
 
 
或手動去點一下grid2
 
 
應該是這樣吧 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 5 樓
  | 
		
			
				 發表於: 星期五 三月 18, 2011 6:25 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝 jerryclt ,早期從Clipper 以來,set relatoin 就是如你所說的,這樣處理
 
 
但是 加上 Grid 後,就不一樣了,不知到VFP又多做了些什麼動作
 
 
 
上面有附原始程式碼,可以幫忙試看看 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		LiuRambo
 
 
  註冊時間: 2007-11-27 文章: 481
 
  第 6 樓
  | 
		
			
				 發表於: 星期五 三月 18, 2011 9:41 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				或者 在切斷關連"之前"
 
將GRID的RECORDSOURCE=""
 
切斷"之後" 在重新設定一次RECORDSOURCE並且GRID.REFRESH | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		DennisTsai
 
 
  註冊時間: 2005-07-26 文章: 178
 
  第 7 樓
  | 
		
			
				 發表於: 星期六 三月 19, 2011 12:17 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				SELECT TEMP1
 
GO TOP
 
SET RELATION TO
 
SELECT TEMP2
 
GO TOP
 
SET RELATION TO
 
THISFORM.GRD2.RECORDSOURCE=""
 
THISFORM.GRD2.RECORDSOURCE="TEMP2"
 
THISFORM.GRD2.REFRESH() | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 8 樓
  | 
		
			
				 發表於: 星期六 三月 19, 2011 12:00 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝 jtcom01 和 DennisTsai
 
 
2種方式得到的結果,看似relation 關聯已關閉,不會連結,但是實際上,temp2 的 grid2 還是無法顯示出全部資料
 
如果我原本有關聯時,temp1 的 grid1 是focus在 22222222 列時,
 
取消關聯後,temp2 的Grid 只能看到22222222,22222222,33333333,33333333 (無法看到 11111111,11111111)
 
就算我額外再執行 go top in temp2 , 或 seek("11111111") 也都無法於Gird2 顯示出 11111111
 
 
 
於上面有附上 003.JPG 的圖片, | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		LiuRambo
 
 
  註冊時間: 2007-11-27 文章: 481
 
  第 9 樓
  | 
		
			
				 發表於: 星期六 三月 19, 2011 1:19 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				THISFORM.GRD2.RECORDSOURCE="" 
 
THISFORM.GRD2.RECORDSOURCE="TEMP2" | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		DennisTsai
 
 
  註冊時間: 2005-07-26 文章: 178
 
  第 10 樓
  | 
		
			
				 發表於: 星期六 三月 19, 2011 4:56 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				SELECT TEMP1
 
GO TOP
 
THISFORM.GRD1.REFRESH()
 
SET RELATION TO
 
SELECT TEMP2
 
SET RELATION TO
 
THISFORM.GRD2.RECORDSOURCE=""
 
THISFORM.GRD2.RECORDSOURCE="TEMP2"
 
THISFORM.GRD2.REFRESH() | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 11 樓
  | 
		
			
				 發表於: 星期六 三月 19, 2011 10:48 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝 DennisTsai :
 
 
如果 temp2 還有其他資料, 如: 00000000 ,以上面的方法,是否可以顯示出來
 
 
好像一設了relation 後,grid 好像就鎖定住該 "關聯值" 當Grid 的啟始值 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		LiuRambo
 
 
  註冊時間: 2007-11-27 文章: 481
 
  第 12 樓
  | 
		
			
				 發表於: 星期日 三月 20, 2011 3:07 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				已經有4帖點出重點了
 
 
你根本沒去TRY吧
 
不想再講了 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 13 樓
  | 
		
			
				 發表於: 星期日 三月 20, 2011 11:36 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				冤枉啊,大人
 
 
上面各位的方法,小弟是真的都試過了,連程式碼都直接copy下來了 (確定沒打錯字)
 
 
我的測試步驟如下圖: | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		LiuRambo
 
 
  註冊時間: 2007-11-27 文章: 481
 
  第 14 樓
  | 
		
			
				 發表於: 星期一 三月 21, 2011 9:06 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我測試過 沒問題的
 
有問題的一定是你的"盲點"
 
 
對付盲點:
 
1.清掉重寫
 
2.過幾天再看 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 15 樓
  | 
		
			
				 發表於: 星期一 三月 21, 2011 9:29 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝你,已下載測試
 
 
結果仍然一樣,難道我們的VFP版本不同,我的是 VFP8 SP1
 
 
測試的方式,如下圖 (沒有修改你的程式) ,
 
1.先點選 222222 (一定要此動作,才看得出差異在那邊)
 
2.設定關聯
 
3.解除關聯
 
 
1111111 還是沒看到 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |