上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
王建貴
註冊時間: 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"
小弟就是這樣解決的了.不知各位先進還有更好的方法ㄇ?還請不吝指導.. |
|
回頂端 |
|
 |
|