当前课程知识点:数据库技术与程序设计 > 综合练习题库 > 综合练习题库 > 技术分享帖:数据表窗体中实现动态序号
在 Excel 中,表格左边有一个连续序号显示,无论对其中的行做任何操作,这个序号始终是从 1 开始到最大号。而在 Access 中,报表中能够很容易实现,但窗体中实现却很困难,在这里提供了一种通过自动批量修改记录集中的的序号字段的值来实现的方法。
下面通过示例程序说明实现的具体步骤:
一、创建表
我们先创建一张表。
先在“产品” 表中添加一个数字型字段“序号”,然后基于该表创建一个数据表视图窗体,命名为“产品_子窗体”, 然后以设计视图打开该窗体。为了和字段名进行区分,这里我们将绑定到“序号”字
段的文本框名称重命名为“txt 序号”。
二、添加代码
接下去我们来添加对应的代码。
Public Sub SetSerialNum() Dim intCurNum As Integer With Me.Recordset If .RecordCount = 0 Then Exit Sub '记录为空退出 Me.Painting = False '关闭窗体更新 intCurNum = Me.CurrentRecord - 1 '记忆从第一行到当前行之间需要移动的行数 Do Until .EOF '从当前行开始循环所有记录,直到最后一行为止 Me.txt序号 = Me.CurrentRecord '重新修改序号(注意:这里用的是绑定到序号字段的文本框名称,如果用字段名的话,需要调用Edit方法和Update方法才行) .MoveNext '移到下一行 Loop .MoveFirst '移到第一行 If intCurNum > 0 Then .Move intCurNum '返回到修改序号之前所在行 Me.Painting = True '打开窗体更新 End With End Sub Private Sub Form_AfterDelConfirm(Status As Integer) '只有在真正删除记录后才需要重新设置序号 If Status = acDeleteOK Then Call SetSerialNum End Sub Private Sub Form_Current() If Me.NewRecord Then Me.txt序号.DefaultValue = Me.CurrentRecord Else Me.txt序号.DefaultValue = "" End If End Sub Private Sub Form_Load() '窗体加载时设置序号 Call SetSerialNum End Sub
三、运行
运行后,我们可以看到自动添加了序号,如果添加了新数据,会自动生成序号。
好了,大家快去试一下吧
资料来源:公众号Access开发
-知识点拼图+问题求解流程+软件工程开发教学流程——写给翻转课堂开课教师
-技术分享贴续篇:怎样用窗体显示一条记录存储的多张OLE图像文件?
-技术分享贴:复杂的SQL自体连接和嵌套查询,涨粉最多的用户ID和涨粉数
-往届竞赛获奖作品展示
-1.1 数据与数据管理
--【拓展阅读】到底什么是IT(Information Technology)
-1.2 DBS=DB+DBMS
-1.3 不以六律不能正五音——数据模型
-- 课件1.3.1 数据模型
-1.4 数据库系统结构
-本章小结
--第一章小结
-第一章作业
-2.1 数据库设计流程
-2.2 概念结构设计
-2.3 逻辑结构设计
-本章小结
--第二章小结
-第二章作业
-3.1 数据库管理系统
-3.2 创建数据库
-3.3 创建数据表
-3.4 维护数据表
-本章小结
--第三章小结
-第三章作业
-4.1 基本数据类型
-4.2 常量
--4.2.1 常量
-4.3 变量和数组
--4.3.1 变量
-4.4 表达式和函数
-本章小结
--第四章小结
-第四章作业
-【讨论帖:悬赏!谁能解决Round()函数Banker’s rounding算法的bug?】
-5.1 数据检索方法
-5.2 数据库查询文件
-5.3 选择查询
-5.4 参数查询
-5.5 操作查询
-本章小结
--第五章小结
-第5章作业
-6.1 SQL概述
-6.2 SQL数据定义语言
-6.3 SQL数据查询语言
-6.4 SQL数据操作语言
-本章小结
--第六章小结
-第6章作业
-【讨论帖:你是否听说过“自然语言检索”,你在什么地方见到过,或者使用过“自然语言检索”吗?】
-7.1 窗体设计
-7.2 报表设计
-本章小结
--第七章小结
-第七章作业
-【讨论帖:你能总结一下窗体和报表的共性和区别吗?在你的工作、学习或生活中,你都见到过哪些窗体和报表的实际应用?】
-8.1 VBA编程基础
-8.2 顺序结构及常用命令
-8.3 分支结构
--8.3.2 多路分支选择语句Select Case 和分支嵌套
--课件8.3.2 多路分支选择语句Select Case 和分支嵌套
-8.4 循环结构
-8.5 函数与过程
-8.6 VBA程序调试
-8.7 数组
-本章小结
--第八章小结
-第八章作业
-【讨论帖:我们学习了VBA面向过程的程序设计,你能结合实践,谈谈自己对算法和程序的理解吗?】
-9.1 面向对象的基本概念
-9.2 控件对象的属性和方法
-9.3 控件对象的事件
-9.4 窗体的面向对象程序设计
-【拓展阅读】【综合案例】Word中的查找与替换是如何实现的?
-本章小结
--第九章小结
-第九章作业
-【讨论贴:本章用小黄鸭类比了面向对象的各种概念,你能也用类比的方式谈谈你对面向对象的理解吗?】
-10.1 宏的基本概念
-10.2 宏的创建与调用
-10.3 数据宏
-10.4 宏的调试和转换
-【拓展阅读】【综合案例】一句代码不敲,就开发了一个航班查询系统?
-本章小结
--第十章小结
-第十章作业
-【讨论帖:王者、LOL、魔兽、DOTA……,说说你在虚拟世界里用宏(超级宏)所向披靡的故事吧!】
-11.1 数据库应用系统结构
-11.2 教学教务管理系统功能需求
-11.3 教学教务管理系统底层数据结构
-11.4 登录模块实现
-11.5 学生管理模块实现
-11.6 教学管理模块实现
-11.7 系统测试与发布
-本章小结
--第十一章小结
-课程综合设计
-综合练习题库