上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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 還是沒看到 |
|
回頂端 |
|
 |
|