• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
VFP6.0中实现记录删除后自动调整编号
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
VFP6.0中实现记录删除后自动调整编号
软件发布 VFP6.0中实现记录删除后自动调整编号
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 编程技术 | VFP教程 | VFP6.0中实现记录删除后自动调整编号

VFP6.0中实现记录删除后自动调整编号

 

添加时间: 2007-7-9 2:43:52  作者: VFP教程  阅读次数:139   来源: http://www.d9soft.com

 

 

        好,言归正传,下面就来看看笔者是怎么样实现记录删除后自动调整记录编号这一功能的。

  首先大家来看一下我的这个人事管理系统的删除表单:见图1,这里面的各个控件我想大家一看就知道是干什么用的了,在此我就不再介绍,有一点要说明的是,数据库(或表)打开的时候是不能带除了编号以外的索引的,也就是说必须要以编号排序的方式。

     

  在图1的表单中,“取消”,“确定”这两个按钮的代码笔者就不详细介绍了,根据程序作用的不同这两个按钮的代码可能会有一些出入。“上一个”和“下一个”按钮的代码也很简单,主要是一些判断记录有没有到头或到尾的代码和跳转记录时刷新的代码,在此也不多做介绍。下面我们主要来看看“删除”这个按钮的代码,整个“删除”按钮的代码如图2所示:下面我来介绍一下各段代码的作用:

    

===========================================
scyesno=messagebox("真的要删除吗?",4+32,"确认") &&这一句不用我多说吧?产生一个“确认”对话框。
if scyesno=6 &&如果用户按下“确定”按钮。
 b=recno() &&首先把要删除的记录号储存下来,以下要用到。
 delete &&把选定的记录作删除标记。
 pack &&把选定的记录从数据库中彻底删除。
 messagebox("已经搞定!",0+64,"删除完毕") &&产生一个“删除完毕”的对话框。
 go bottom &&数据库的记录指针移到尾部。
if reccount()>0 &&判断表中的记录个数是不是大于0,即还有没有记录。如果刚才删除的是数据库中最后  一条记录,不加这条判断语句截止的话 再向下执行会出错!所以这是一条相当重要的判断代码。
 if b<recno() .or. b=recno() &&如果刚才删除的记录号小于或等于最后一条记录的记录号。(在此注意   一下上面“go bottom”这句代码的作用。)
  go b &&跳转到刚才删除的记录的记录号上,从这一条记录开始修改记录的编号。
  do whil .not. eof() &&如里不到数据库结尾则重复执行以下修改编号的代码:
   replace 编号 with 编号-1 &&把当前记录的编号减1并保存。
   skip &&跳转到下一条记录。
  enddo &&结束假设和循环。
  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)”来真正修改数据库中的记录,而用户不按下“确定修改”这个按钮是不会修改记录的内容的,这样就避免了误操作而修改记录的可能性。当然在“确定修改”按钮的开头你还可以加上个“警告框”来作为提醒。

 

 

 

上下文章:

 

上一篇文章: Visual FoxPro9.0中扩展报表系统功能 下一篇文章: Visual FoxPro 9中新的数据处理方式

相关文章:

  • 盗号记录器通过钩子专盗网络游戏账号
  • Oracle10gR2中自动检查点调整的新特性
  • 为数据库的表自动生成行号
  • Oracle10.2g安装记录
  • PL/SQL用光标查询多条记录

相关软件:

  • 情缘天空音乐站简易自动更新版
  • 自动生成HTML版电影程序 v4.0
  • 自动生成HTML版电影程序
  • 自动生成HTML版电影程序 v2.0
  • 鼠标键盘记录回放器 V2.63
  • 密码记录大师 V2008 Build 0624

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • 在ASP.NET中使用Visual FoxPro7.0
  • Visual Foxpro通用报表打印程序
  • VFP 6.0网络编程应注意的问题
  • VFP应用程序多媒体徽标的实现
  • VFP中多条件数据查询程序的实现
  • 二级FoxBASE上机考试技巧
  • VFP中状态栏控件的使用说明
  • VFP智能感应的二次开发
  • Visual FoxPro 9.0更强大了
  • Visual FoxPro 9中新的数据处理方...

VFP教程阅读排行

  • VFP9.0中设计与使用表单和报表
  • Visual Foxpro通用报表打印程序
  • VFP中多条件数据查询程序的实现
  • VFP 6.0网络编程应注意的问题
  • Visual FoxPro9.0中设计与使用查询
  • Visual FoxPro 9.0更强大了
  • Visual FoxPro成长之路
  • 在ASP.NET中使用Visual FoxPro7.0
  • 二级FoxBASE上机考试技巧
  • Visual FoxPro 9中新的数据处理方...

编程技术阅读总排行

  • VB入门教程之一
  • 第二章 PowerBuilder 入门之创建新...
  • Java连接数据库实例
  • 第一章 什么是PowerBuilder
  • VC++之List Box/Check List Box控...
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有