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