上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
koharu
註冊時間: 2009-10-13 文章: 21
第 1 樓
|
發表於: 星期日 十一月 29, 2009 11:52 am 文章主題: Grid與Alias的控制問題 |
|
|
製作兩個form(form1, form2) , 兩個form內各有一個grid
兩個 Table (table1 ,table2 )
點選 form1.grid.column.text1 產生 form2
==code 如下==
form1.grid.recordsource = table1
<form1.grid.column.text1.click > 下加入
IF EMPTY(this.Value)
DO FORM form2 WITH var1
ENDIF
<form2.init > 下加入
LPARAMETER var1
select * from table2 where name = var1 into cursor tmpTable
this.grid.recordsource = tmpTable
小弟的問題是
1.
點選產生form2 後select結果 是正確的
但是 滑鼠再點選form2.grid 上的欄位後
出現 Variable 'var1' is not found 的錯誤訊息
form2.grid 上 select 的結果變成 table2的所有資料
2.
此時 form2一開始的Alias 為 tmpTable
但是 最後顯示 form2的 Alias 卻變為 table1 !?
檢查過在 form2內都沒用到 table1
不曉得為什麼 form2 的Alias 會出現 table1.?
最近遇到很多問題
似乎都是與Grid 與 Alias 的操作有關
一些基本觀念有待加強...
麻煩給點 建議 或是 更好的想法 ~
thanks
koharu 在 星期一 十一月 30, 2009 12:36 am 作了第 2 次修改 |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 2 樓
|
發表於: 星期日 十一月 29, 2009 7:59 pm 文章主題: |
|
|
FORM裡面的GRID如果沒有指定哪個TABLE就會直接顯示現用的那一個TABLE
我猜測應該是FORM2裡的SELECT不正確沒產生出正確你想要的TABLE2
才會跑出TABLE1
你可以試試看在LOAD開一個TABLE
FORM裡面開一個GRID不指定看看會怎樣
<form2.init > 下加入
LPARAMETER var1
select * from table2 where name = var2 into cursor tmpTable
this.grid.recordsource = tmpTable
==============
WHY???
FORM1裡面也沒有指定出var1的值? |
|
回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 3 樓
|
發表於: 星期日 十一月 29, 2009 8:16 pm 文章主題: |
|
|
一、你的變數 定義非常不明確 , 是否要定義好? 不然很容易出錯
二、select * from table2 where name = var2 into cursor tmpTable 其中的 var2 沒有定義,照說會失敗
還是你有public var2 的指令存在 ?
三、para var1 為何用 var2 ? 不解? |
|
回頂端 |
|
 |
koharu
註冊時間: 2009-10-13 文章: 21
第 4 樓
|
發表於: 星期一 十一月 30, 2009 12:35 am 文章主題: |
|
|
抱歉~!
select * from table2 where name = var1 into cursor tmpTable
才對~已經把文章修正過來
被這問題搞的頭昏腦脹~打錯造成誤會~
變數名稱 是發這篇文章暫用的名稱,想說這樣比較清楚
var2 是手殘 打錯~ XD
當form2產生時 , form2.grid 上的select 結果最初的顯示結果是正確的~
此時 foxpro視窗左下角顯示的 Alias 一開始為 tmpTable , 後來顯示為 table1
然後用滑鼠點選 form2.grid 上的欄位後 <---做這個動作後才有問題
才會 出現 Variable 'var1' is not found 的錯誤訊息
後來把 form2 上其他動作都先拿掉 , 問題還是一樣 . |
|
回頂端 |
|
 |
andywilliams
註冊時間: 2004-10-23 文章: 111
第 5 樓
|
發表於: 星期一 十一月 30, 2009 1:06 am 文章主題: |
|
|
select * from table2 where name = var1 into cursor tmpTable
this.grid.recordsource = "tmpTable" |
|
回頂端 |
|
 |
koharu
註冊時間: 2009-10-13 文章: 21
第 6 樓
|
發表於: 星期一 十一月 30, 2009 1:33 am 文章主題: |
|
|
andywilliams 寫到: | select * from table2 where name = var1 into cursor tmpTable
this.grid.recordsource = "tmpTable" |
感謝 andy 大~
我 在程式裡面的確是這樣寫沒錯
this.grid.recordsource = "tmpTable"
發文太過大意
後來不斷測試 各種方式 ,
發現似乎 當滑鼠點選 form2.grid 內的欄位後
select * from table2 where name = var1 into cursor tmpTable
就會重做 ? |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 7 樓
|
發表於: 星期一 十一月 30, 2009 8:43 am 文章主題: |
|
|
抱歉,插句不相干的話,
發文若常打錯字,會誤導解題方向及浪費解決時間 |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 8 樓
|
發表於: 星期一 十一月 30, 2009 8:59 am 文章主題: |
|
|
1.form1裡面還是沒有看到var1的資料來源,form2的lpara最好也不要用"var1"以免日後產生問題
或者就乾脆不要傳遞 DO FORM form2
或是真的改成
LPARA var2
select .............. where name = var2............
2.既然已經知道滑鼠點選會不斷重做
那問題就一定是出在IF EMPTY(this.Value)這一行
建議在這行之前弄個messagebox看一下this.value到底有無資料 |
|
回頂端 |
|
 |
koharu
註冊時間: 2009-10-13 文章: 21
第 9 樓
|
發表於: 星期二 十二月 01, 2009 10:35 am 文章主題: |
|
|
感謝各位高手的幫忙.
自己疏忽造成困擾 , 相當抱歉!
目前 , 將一些 可能造成問題的地方修正過 ,
還是出現同樣的 錯誤訊息
程式過程為
1. 開始 form1.grid.column.text1.click
2. 開始form2.init
3. 結束form2.init
4. 結束 form1.grid.column.text1.click
錯誤訊息出現的時間點是在
做完 form2.init 回到 form1.grid.column.text1.click 時
但是 select 應該在 form2.init 就已經做完?
目前還是 沒辦法解決 .
有任何問題 ,都可以指正
thanks |
|
回頂端 |
|
 |
tinwhang
註冊時間: 2009-11-08 文章: 104
第 10 樓
|
發表於: 星期三 十二月 02, 2009 6:28 pm 文章主題: |
|
|
koharu 寫到: | 感謝各位高手的幫忙.
自己疏忽造成困擾 , 相當抱歉!
目前 , 將一些 可能造成問題的地方修正過 ,
還是出現同樣的 錯誤訊息
程式過程為
1. 開始 form1.grid.column.text1.click
2. 開始form2.init
3. 結束form2.init
4. 結束 form1.grid.column.text1.click
錯誤訊息出現的時間點是在
做完 form2.init 回到 form1.grid.column.text1.click 時
但是 select 應該在 form2.init 就已經做完?
目前還是 沒辦法解決 .
有任何問題 ,都可以指正
thanks |
這樣說好了,可以把程式POST 上來,讓高手們幫你測一測就好了, |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 11 樓
|
發表於: 星期三 十二月 02, 2009 7:49 pm 文章主題: |
|
|
看起來,你的GRID是從FORM1 複製到FORM2的吧~
那你有檢查一下,FORM 2的GIRD底下的TEXT.CLICK的部份是空的嗎? _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
koharu
註冊時間: 2009-10-13 文章: 21
第 12 樓
|
發表於: 星期五 十二月 04, 2009 4:36 pm 文章主題: |
|
|
謝謝各位!
因為整個程式還有其它東西,怕整個post 出來更難說的清楚
所以才挑問題部份出來.
nelsonchuang大 說Gird部分 . form2 是新增上去的.
後來也重新做過 . 確認過text1.click 是空白
目前用其他方式替代 , 在form1上 增加button 來做Do form2
而不是在原本 form1.grid.column.text1.click 內
但是還是不曉得 原本作法的盲點
請高手 指點! |
|
回頂端 |
|
 |
|