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

删除数据后,记录指针如何能自动返回一位?

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



註冊時間: 2006-01-04
文章: 12


第 1 樓

發表發表於: 星期一 一月 09, 2006 4:07 pm    文章主題: 删除数据后,记录指针如何能自动返回一位? 引言回覆

本人有这样的一段程序,但当执行"删除"后,记录指针无法自动返回一位,而是直接回到第一个记录,请哪位大侠能帮我指点一下,在哪里修改(或加代码)能达到这个目的?谢谢!


cMessageTitle="提示"
cMessageText="真的想删除数据吗?"
cDialogue=4+32+1024
nAnswer=Messagebox(cMessageText, cDialogue,cMessageTitle)

if nAnswer=6
delete
pack

endif
thisform.refresh
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 2 樓

發表發表於: 星期一 一月 09, 2006 7:58 pm    文章主題: 引言回覆

並非DELETE使指標移動; 而是PACK使指標移動!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
戲武



註冊時間: 2005-11-18
文章: 3
來自: 台中

第 3 樓

發表發表於: 星期一 一月 09, 2006 10:33 pm    文章主題: 引言回覆

如果只DELETE一筆,那就簡單了.
if nAnswer=6
delete
Mrec=recno()
pack

endif
go mrec
thisform.refresh

_________________
時間過的真快
回頂端
檢視會員個人資料 發送私人訊息
MORNING



註冊時間: 2006-01-04
文章: 12


第 4 樓

發表發表於: 星期一 一月 09, 2006 11:45 pm    文章主題: 谢谢! 引言回覆

谢谢上面朋友的帮助,按你的方法试了一下,还有一点小问题,不过稍作了一点小修改就解决了,即:

if nAnswer=6
delete
Mrec=recno() -1
pack

endif
go mrec
thisform.refresh
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 5 樓

發表發表於: 星期二 一月 10, 2006 1:35 am    文章主題: 引言回覆

還是會有問題的 ; 試試DELETE第一筆就知道.
還有如果有索引的時候; 那會更複雜的.
建議您使用SET DELETE ON 或 SET FILTER TO (! DELETE())
不要直接使用PACK
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 6 樓

發表發表於: 星期二 一月 10, 2006 9:15 am    文章主題: 引言回覆

問題是... 它已經不存在了.. 你記那個 recno() 是沒有意思的!

還是試試這樣:

SET DELETE ON
THISFORM.GRID1.REFRESH

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期二 一月 10, 2006 9:32 am    文章主題: 引言回覆

備份 record no. 的想法是對的,
我習慣在 delete 之前記錄,
不過只要配套做好,何時記錄倒不是重點

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
MORNING



註冊時間: 2006-01-04
文章: 12


第 8 樓

發表發表於: 星期二 一月 10, 2006 4:31 pm    文章主題: 引言回覆

如小赖朋友所说,当执行删除第一条记录时会出现问题,后来我又作了如下修改:
a=recno()
cMessageTitle="提示"
cMessageText="真的想删除数据吗?"
cDialogue=4+32+1024
nAnswer=Messagebox(cMessageText, cDialogue,cMessageTitle)


if nAnswer=6
delete
if a=1
pack
else
go a-1

endif
endif

thisform.refresh


重新测试了一下,好像可以(不过有点复杂),但是我对SET DELETE ON 或 SET FILTER TO (! DELETE())
不是很懂(很惭愧),可否指点一下?谢谢!
回頂端
檢視會員個人資料 發送私人訊息
MORNING



註冊時間: 2006-01-04
文章: 12


第 9 樓

發表發表於: 星期五 一月 13, 2006 4:05 pm    文章主題: 引言回覆

谢谢!
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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