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

請教一個資料環境的問題?

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
王建貴



註冊時間: 2004-03-11
文章: 62


第 1 樓

發表發表於: 星期三 六月 09, 2004 6:02 pm    文章主題: 請教一個資料環境的問題? 引言回覆

小弟在子Form利用SQL語法產生一個查詢的GRID.母From的工作表格是STUDENT.DBF.
SQL語法如下:
USE STUDENT
SELECT STUID AS 卡號,NAME AS 姓名 FROM STUDENT INTO CURSOR TMP1 READWRITE
當結束該子Form返回母Form的時候.找不到原有的工作表格.小弟在do form之後open database 資料庫也沒用.student.dbf在母表單的資料環境已經預設為第一個表格.請教各位大大有何解決的方法?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
elleryq



註冊時間: 2007-06-21
文章: 768


第 2 樓

發表發表於: 星期四 六月 10, 2004 8:51 am    文章主題: 引言回覆

你是不是在子 form 裡面有關閉 student 的動作??
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
王建貴



註冊時間: 2004-03-11
文章: 62


第 3 樓

發表發表於: 星期四 六月 10, 2004 9:31 am    文章主題: 引言回覆

小弟在母Form的Data Environment 有幾個dbf其中STUDENT.DBF就是其中的一個工作區.我在DO 子Form的時候在Init Enevt用上述的SQC語法.製作了一個查詢GRID.這個GRID的RecordSource就是那個臨時的TMP1.DBF.小弟想問題應該是出在這裡.所以返回母FORM的時候無法再開啟它的Data Environment.因為小弟試過返回母FORM的時候原有Data Environment 內的DBF都無法開啟.如果要開啟原有的Data Environment 要用何指令?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
elleryq



註冊時間: 2007-06-21
文章: 768


第 4 樓

發表發表於: 星期五 六月 11, 2004 8:56 am    文章主題: 引言回覆

那我再請問你子 form 的 data session 為何??
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
elleryq



註冊時間: 2007-06-21
文章: 768


第 5 樓

發表發表於: 星期四 六月 17, 2004 8:52 am    文章主題: 引言回覆

比較快的作法是把 datasession 設為 2 (private)

這樣子做之後
母 form 自己擁有自己的 data environment
子 form 也自己擁有自己的 data environment
這樣就不會重複到了~~

如果要用到母 form 的 data environment
那麼子 form 就不需要將 data session 設為 2
用 1 就可以了
但不建議利用 data environment 來管理 table.
應該自己在 form 的 load/unload 或 init/destroy 事件去開啟 table 或關閉 table.
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
王建貴



註冊時間: 2004-03-11
文章: 62


第 6 樓

發表發表於: 星期四 六月 17, 2004 9:24 am    文章主題: 引言回覆

謝謝各位大哥的指導.我發現有個指令可以用.在母表單要呼叫子表單的按鈕Click設定如下指令就可解決:
ThisForm.Grid1.RecordSource = " "
ThisForm.Dataenvironment.CloseTables() && 關閉母表單資料環境
DO FORM Formname && 呼叫子表單
ThisForm.Dataenvironment.OpenTables() && 打開母表單資料環境
ThisForm.Grid1.RecordSource = "TableName"
這樣子表單有use.dbf的動作.回母表單的時候都可回到原來的資料環境狀態.不夠如果母表單有grid的話這些grid就會變成空白.所以別忘了呼叫子表單之前設定ThisForm.Grid1.RecordSource = " "回來母表單再設定ThisForm.Grid1.RecordSource = "TableName"
小弟就是這樣解決的了.不知各位先進還有更好的方法ㄇ?還請不吝指導..
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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