电竞比分网-中国电竞赛事及体育赛事平台

分享

VFP6.0中實現(xiàn)記錄刪除后自動調整編號

 風與樹雨 2006-08-16
VFP6.0中實現(xiàn)記錄刪除后自動調整編號
null
好,言歸正傳,下面就來看看筆者是怎么樣實現(xiàn)記錄刪除后自動調整記錄編號這一功能的。
nullnull
  首先大家來看一下我的這個人事管理系統(tǒng)的刪除表單:見圖1,這里面的各個控件我想大家一看就知道是干什么用的了,在此我就不再介紹,有一點要說明的是,數據庫(或表)打開的時候是不能帶除了編號以外的索引的,也就是說必須要以編號排序的方式。
nullnull
     
nullnull
  在圖1的表單中,“取消”,“確定”這兩個按鈕的代碼筆者就不詳細介紹了,根據程序作用的不同這兩個按鈕的代碼可能會有一些出入。“上一個”和“下一個”按鈕的代碼也很簡單,主要是一些判斷記錄有沒有到頭或到尾的代碼和跳轉記錄時刷新的代碼,在此也不多做介紹。下面我們主要來看看“刪除”這個按鈕的代碼,整個“刪除”按鈕的代碼如圖2所示:下面我來介紹一下各段代碼的作用:

    

===========================================
scyesno=messagebox("真的要刪除嗎?",4+32,"確認") &&這一句不用我多說吧?產生一個“確認”對話框。
if scyesno=6 &&如果用戶按下“確定”按鈕。
 b=recno() &&首先把要刪除的記錄號儲存下來,以下要用到。
 delete &&把選定的記錄作刪除標記。
 pack &&把選定的記錄從數據庫中徹底刪除。
 messagebox("已經搞定!",0+64,"刪除完畢") &&產生一個“刪除完畢”的對話框。
 go bottom &&數據庫的記錄指針移到尾部。
if reccount()>0 &&判斷表中的記錄個數是不是大于0,即還有沒有記錄。如果剛才刪除的是數據庫中最后  一條記錄,不加這條判斷語句截止的話 再向下執(zhí)行會出錯!所以這是一條相當重要的判斷代碼。
 if b<recno() .or. b=recno() &&如果剛才刪除的記錄號小于或等于最后一條記錄的記錄號。(在此注意   一下上面“go bottom”這句代碼的作用。)
  go b &&跳轉到剛才刪除的記錄的記錄號上,從這一條記錄開始修改記錄的編號。
  do whil .not. eof() &&如里不到數據庫結尾則重復執(zhí)行以下修改編號的代碼:
   replace 編號 with 編號-1 &&把當前記錄的編號減1并保存。
   skip &&跳轉到下一條記錄。
  enddo &&結束假設和循環(huán)。
  go b &&這句要不要都行,主要是為了方便在表單里顯示刪除的那條記錄的下一條記錄的內容的。
 endif &&結束判斷。
endif &&結束判斷。
endif &&結束判斷。

  &&以下的代碼是為了刪除后刷新用的,大家一看就明白的,不用我說了。

thisform.text1.refresh
thisform.text2.refresh
thisform.combo1.refresh
thisform.text4.refresh
thisform.text5.refresh
thisform.text6.refresh
thisform.text7.refresh
thisform.edit1.refresh
ThisForm.Oleboundcontrol1.refresh
===============================================


  好了,代碼向大家看完了,在此筆者再向大家介紹個建議:就是在圖1的表單中,如果這是個修改記錄的表單的話,有相當一部分書或資料上都介紹把各個控件的controlsource的值直接指向數據庫中相對應的字段名,筆者認為這樣做不是很好,因為這樣的話如果不小心動了表單中各個文本框的值的話,程序是沒有一點提示就直接修改數據庫中相對應的字段的值的。筆者的做法是:把各個控件的controlsource的值指向一個變量,比如說“姓名”文本框的controlsource值指向xgxm,然后在“確定修改”按鈕的代碼里再用“replace 姓名 with alltrim(xgxm)”來真正修改數據庫中的記錄,而用戶不按下“確定修改”這個按鈕是不會修改記錄的內容的,這樣就避免了誤操作而修改記錄的可能性。當然在“確定修改”按鈕的開頭你還可以加上個“警告框”來作為提醒。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多