上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
芝風
註冊時間: 2006-08-09 文章: 45 來自: 台灣,巴西
第 1 樓
|
發表於: 星期六 九月 02, 2006 7:50 am 文章主題: 請問recno和public變數的問題,抱歉,一直發問 |
|
|
是這樣的,我想說在新增->儲存完或是新增->放棄完之後,能夠回到新增前的那一筆資料
我查了一下,有查到以下這些:
local ln_oldrecno
ln_oldrecno=recno() && save the position
*
* do something what you want.....
*
go ln_oldrecno && restore the position
是的,我也這樣做了
先在form.init() 設一個變數 public recNum
在grid.afterrowcolchange()中設定 recNum=recno()
然後在放棄,跟儲存那執行go recNum,但是仍是沒有反應
是不是我沒有設定成要回指向grid??
還有另一個好玩的問題(其實一點也不好玩,對我來講很痛苦)
我因為有設定權限限制,有些form是不讓人存取的除了admin之外
所以在一開始我也設了一個plublic變數ud,來讀取這人的權限(0就是可全部,1是部份而已)
然後在每一個form的開端,都會先執行判斷權限
if ud=1
thisform.command1.enabled=.f.
endif
類似之類的
可是當我build之後,要執行竟然出現一個錯誤:
檔案ud.prg不存在…
難道要build的話,所有的變數都得先在code那設定嗎?
真的不懂,請各位大大指點
多謝 _________________ 一籬一櫓一漁舟,一個艄公一釣勾
一拍一呼還一笑,一人獨佔一江秋
~清.紀昀~ |
|
回頂端 |
|
 |
liangszpt

註冊時間: 2004-11-18 文章: 263 來自: な东省深圳市
第 2 樓
|
發表於: 星期六 九月 02, 2006 2:50 pm 文章主題: Re: 請問recno和public變數的問題,抱歉,一直發問 |
|
|
芝風 寫到: | 是這樣的,我想說在新增->儲存完或是新增->放棄完之後,能夠回到新增前的那一筆資料
我查了一下,有查到以下這些:
local ln_oldrecno
ln_oldrecno=recno() && save the position
*
* do something what you want.....
*
go ln_oldrecno && restore the position
是的,我也這樣做了
先在form.init() 設一個變數 public recNum
在grid.afterrowcolchange()中設定 recNum=recno()
然後在放棄,跟儲存那執行go recNum,但是仍是沒有反應
是不是我沒有設定成要回指向grid??
|
在你GO RECNUM之前,要确保你当前的TABLE就是你想GO的那个
然后可以执行一下Grid.Refresh
我不太喜欢用PUBLIC的全部变量的,定义PUBLIC的变量,应该是真正是为整系系统而用的。例如登用的用户名,系统的执行目录路径,临时文件目录路径之类是为整个系统所共用的变量。你在一个FORM去定义一个PUBLIC,而仅仅是为此FORM用的,那不如新建一个PROPTERY,因为PROPTERY会在FORM的RELEASE时会消失,而PUBLIC变量不会,如果你别的地方用到一样的名字的变量名时,可能就会出错了。
至于用GO RECNUM这种方法,一般我不这样做,每条记录应该用一个KEY可以用来区别其它记录的(实在没的放话,加一个FIELD:RecID C(10),用SYS(2015)来给它赋值),在做操作之前,先把当前记录的KEY记录下来,你想回来的话,可以用LOCATE 重新找回来。
芝風 寫到: |
還有另一個好玩的問題(其實一點也不好玩,對我來講很痛苦)
我因為有設定權限限制,有些form是不讓人存取的除了admin之外
所以在一開始我也設了一個plublic變數ud,來讀取這人的權限(0就是可全部,1是部份而已)
然後在每一個form的開端,都會先執行判斷權限
if ud=1
thisform.command1.enabled=.f.
endif
類似之類的
可是當我build之後,要執行竟然出現一個錯誤:
檔案ud.prg不存在…
難道要build的話,所有的變數都得先在code那設定嗎?
真的不懂,請各位大大指點
多謝 |
这个UD,你应该在SET MAIN的那个PRG文件里面定义(就是文件名是加粗的那个PRG),因为编译就是从那个文件开始的,要在那里定义了PUBLIC,后面编译时,才知道有这个变量的存在。 |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 3 樓
|
發表於: 星期一 九月 04, 2006 4:47 pm 文章主題: |
|
|
您好
1.要宣告公用變數,請在主檔裡宣告(主form)
如此公用變數就可於任何地方,重覆的使用與給值
用起來比較方便
2.新增後 grid 必須refrsh,才有辦法立即顯示出資料
3.請用 seek 或 seek() 來搜尋資料,不要再用local
4.權限使用請設立資料表格來儲存相關權限資訊,寫死在程式,不就一天到晚在重新compiler
很麻煩的
以上您參考 |
|
回頂端 |
|
 |
芝風
註冊時間: 2006-08-09 文章: 45 來自: 台灣,巴西
第 4 樓
|
發表於: 星期三 九月 06, 2006 9:58 am 文章主題: |
|
|
謝謝回覆
我權限設定是設在表裡面的,謝謝 _________________ 一籬一櫓一漁舟,一個艄公一釣勾
一拍一呼還一笑,一人獨佔一江秋
~清.紀昀~ |
|
回頂端 |
|
 |
|