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

Grid 如果設定 relation 關聯後,要如何取消關聯
前往頁面 上一頁  1, 2
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 16 樓

發表發表於: 星期一 三月 21, 2011 4:57 pm    文章主題: 引言回覆

這我就不知道了
我是用VFP6測的 而且還是精簡版的

我的測試方法也是一樣啊
執行FORM之後 先點關連 再點到其中一筆讓GRID1變動
然後點解除 GRID1就立刻看到全部資料啦

還是請其他高手釋疑一下???
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
tettp



註冊時間: 2008-11-06
文章: 6


第 17 樓

發表發表於: 星期一 三月 21, 2011 7:32 pm    文章主題: 引言回覆

Hi 215001~

經測試果然發現您所謂的問題....

************************************
SELECT t2
set RELATION OFF INTO t1
go TOP IN t2
SELECT t1

SET INDEX TO !!!<< 重點是要close index,
GO TOP IN t1 !!! << move record (top)

thisform.grid1.SetFocus

SET ORDER TO a1 !!!<<重新打開index,,

********************************************

以上程式碼由 LiuRambo 提供, 修改為command1.click
祝您好運
回頂端
檢視會員個人資料 發送私人訊息
215001



註冊時間: 2003-06-11
文章: 393


第 18 樓

發表發表於: 星期二 三月 22, 2011 10:55 am    文章主題: 引言回覆

謝謝 LiuRambo 不厭其煩的回答, 解除關聯前,如果沒有先點選在 "22222" 那一列,就不會看到問題所在

謝謝 tettp ,總算看出我的問題,依你的方式,可以 "暫時" 顯示出全部資料,但是滑鼠在 Grid1,Grid2 間來回點選幾次後,資料又不見了 ???
回頂端
檢視會員個人資料 發送私人訊息
tettp



註冊時間: 2008-11-06
文章: 6


第 19 樓

發表發表於: 星期二 三月 22, 2011 11:14 am    文章主題: 引言回覆

請再試一下...


=============================
command1.click (解除關連method)
SELECT t2
SET RELATION OFF INTO t1
GO TOP IN t2
SELECT t1
SET INDEX TO
GO TOP IN t1
thisform.grid1.refresh


command2.click (設定關連method)
SELECT t1
SET ORDER TO a1
SELECT t2
SET RELATION TO a1 INTO t1
thisform.grid1.Refresh
=================================
回頂端
檢視會員個人資料 發送私人訊息
tettp



註冊時間: 2008-11-06
文章: 6


第 20 樓

發表發表於: 星期二 三月 22, 2011 1:35 pm    文章主題: 引言回覆

這些主要為grid的問題,我的環境為WIN7(x64)+VFP9sp2,別的環境不說
基本上絕不是thisform.grid2.recordsource 的問題

附上已修正的檔案
回頂端
檢視會員個人資料 發送私人訊息
215001



註冊時間: 2003-06-11
文章: 393


第 21 樓

發表發表於: 星期二 三月 22, 2011 1:44 pm    文章主題: 引言回覆

謝謝你,已下載測試,可以再加個 "尋找" 的動作試試嗎 ?

command3.click (尋找method)
SELECT t1
SET ORDER TO a1
SEEK "111"
thisform.grid1.SetFocus

又只剩下 ???
回頂端
檢視會員個人資料 發送私人訊息
215001



註冊時間: 2003-06-11
文章: 393


第 22 樓

發表發表於: 星期三 三月 23, 2011 8:55 pm    文章主題: 引言回覆

目前只好暫時先採用重複開啟 test 表單 兩次的方法

第1次呼叫 test 表單時,只做一般正常顯示用 (不用到 relation)
當要用到 relation 時,再呼叫一次 test 表單
只要將2份 test 表單之間的切換動作,做的順暢一點,可暫時解決燃眉之苦

也感謝各位的解答
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 23 樓

發表發表於: 星期三 三月 23, 2011 9:11 pm    文章主題: 引言回覆

假設relation使用上真的有問題的話
換用Grid1.AfterRowColChange
================
qq = aa.a1

thisform.grid2.recordsourcetype = 1
thisform.grid2.recordsource = ''
select * from aa where aa.A1 = qq into cursor temp2
thisform.grid2.recordsource = 'temp2'
thisform.grid2.refresh
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
215001



註冊時間: 2003-06-11
文章: 393


第 24 樓

發表發表於: 星期三 三月 23, 2011 10:19 pm    文章主題: 引言回覆

謝謝 LiuRambo 的建議

因為原表單包含了完整的 新增/修改/刪除/查尋/篩選(採用relation)的動作
資料大約有數百萬筆,故不敢用 sql 的方式
(因為光第1次執行該表單時[無條件時] ,Select * from temp 就需要等好幾秒鐘了)

所以才會採用 dbf + relation 的方式,可完整顯示資料,又可快速篩選資料
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 25 樓

發表發表於: 星期三 三月 23, 2011 10:59 pm    文章主題: 引言回覆

唉啊啊
既然你就已經知道"不能空白"
要不就提示使用者不能空白
不然先檢查是否空白瞜 是的話直接將GRID2指向實體TABLE不就得了
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
215001



註冊時間: 2003-06-11
文章: 393


第 26 樓

發表發表於: 星期四 三月 24, 2011 10:55 am    文章主題: 引言回覆

有時是實體table ,有時是資料集,又要可以修改資料,會很麻煩

所以目前已先改成: 第1次開啟test表單時,只當一般查詢用,當要用到relation篩選時,再重複開啟test表單1次,在兩份表單來回切換,目前測試還滿順的,使用者應該也看不出來

暫時就先這樣了
回頂端
檢視會員個人資料 發送私人訊息
andywilliams



註冊時間: 2004-10-23
文章: 111


第 27 樓

發表發表於: 星期六 三月 26, 2011 12:31 pm    文章主題: 引言回覆

select temp2
set order to 0
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
215001



註冊時間: 2003-06-11
文章: 393


第 28 樓

發表發表於: 星期六 三月 26, 2011 4:36 pm    文章主題: 引言回覆

謝謝你,已下載測試,可以再加個 "尋找" 的動作試試嗎 ?
set order to 0 是可以顯示出全部的資料
但是表單內還需要有 "尋找" 或是 變更排序 的功能,還是會用到 order
可試試:

sele temp2
set order to xxx
seek "111"
thisform.grd2.setfocus

找得到資料,但是 grd2 就是顯示不出來
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 29 樓

發表發表於: 星期六 三月 26, 2011 5:41 pm    文章主題: 引言回覆

我的"習慣"是GRID有異動一定要:
recordsoure=""
recordsoure="xxx"
refresh
setfocus
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2
2頁(共2頁)

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


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