什么是Access窗体?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
Access窗体,是Access应用中最重要的对象,它是Access六大对象(表、查询、窗体、报表、宏、模块)之一。 一个程序、应用,除非是在纯cmd环境(命令行方式)中运行,都是以窗口的形式与用户交互的。这个窗口在Access的应用中,就是我们说的窗体(中文版Access中统称为窗体,有的教程中从英文直译过来时,称之为:表单)。 一个应用或Windows功能,如果使用的是纯命令行方式,可以在Windows系统的CMD窗口中通过命令行运行,或者在其他程序中通过命令行方式直接运行它,例如,在D盘中有一个Test.accdb的文件,可以在cmd窗口中执行下列命令来备份该文件:
使用cmd命令行,可以实现对Access应用的功能扩展,例如给报表添加水印、把报表直接输出为图片等等。今天主要讲窗体,它有实实在在的界面。 一 认识Access的窗体。 一个标准的Access应用,势必要设计窗体,用来完成下面一些基本功能: 01 与用户产生互动交流 无论是应用的登录界面,数据录入窗口,还是设定数据的筛选、查询条件、在Access中都是通过窗体与用户产生交互的。 与用户交互窗口有用户自定义的,例如登录窗口、数据录入窗口等,这也是Access学习的灵魂重点。
当然也有系统内置的。InputBox函数的弹窗就是调用系统的窗口,再比如ExportWithFormatting宏操作:
如果“输出文件”留空,运行时就会自动弹窗,调用windows窗口,让用户选择保存的位置的文件名称。 02 信息的弹窗提示 这是Access内置的一种信息提示方式,信息提示窗口可以是主动弹出,例如MessageBox宏操作、MsgBox函数或Err.Raise主动抛出错误;也包括应用在出错时由Access系统弹出的提示。
不言而喻,主动弹窗才是学习和使用重点。 03 数据展示 Access的数据的表现形式无非就是保存和显示,原始数据保存在Access表中,但是在制作Access应用时,通常只通过窗体(报表)来查阅数据,然后以控件形式、数据表视图、图表等形式展示在窗体中,供用户查阅。
尽管Access的表、查询也可以用数据表的形式显示数据,但它不是Access设计初衷,实际操作中难以控制,容易造成数据被恶意篡改。 无论对Access窗体以什么样的角度进行分类,它们都会涵盖以上这三类功能,所以我们不必在意对Access窗体的功能分类。 二 窗体设计 我相信大部分由Excel转向Access的用户,都是被Access窗体所吸引的,虽然Excel也可以在VBE中设计用户窗体(Access中也可以),但用户窗体无论从设计的难易程度、窗体本身的功能(尤其是数据的处理功能),与Access窗体相比,它们都不在同一个级别上。 Access的窗体生来就是为数据管理服务的。所以从窗体中能轻松地与数据源进行绑定、自带记录集的导航功能,在窗体上通过控件与窗体数据进行绑定(通过控件来源属性),就能快速制作出一个标准的数据编辑窗体。
既然Access窗体具备数据编辑功能,那么它不仅可以每次(单个窗体)只显示一条记录,还能够以数据表的形态展示数据,或者是这两种形态相结合的方式,这就是窗体的视图。通过默认视图属性以不同的形态展示数据。 用户与窗体的交互是通过控件来完成的,Access控件涵盖了普通窗体大部分的控件各类,能帮助我们设计出美观、个性的视觉样式。 我们能通过导航控件,快速设计出一个具备多级导航功能的窗体,以无代码、最低代码的方式完成导航功能。
在窗体中还可以包含其他窗体或报表(通过子窗体控件),形成多级关联关系,以此完成在同个窗体中,显示、编辑不同类别的数据。例如可以显示记录详细情况、显示相关联的图表等等,主窗体与子窗体之间可以通过链接字段建立联运效果,也可以通过多个字段的链接关系,无代码完成主、子窗体之间的筛选条件,极其方便。
三 学习和使用的关键点推荐 窗体与用户的交互主要通过窗体本身和控件,在用户实施了某项动作(如:单击了按钮、双击了一个文本框、在组合框中选择了一项内容)后,通过这些动作在后台绑定的事件(也就是一段代码、宏操作),来完成预定的事项。 在Access的学习过程中,窗体、控件的内容最多,属性和事件众多,不同的属性、事件可能只有细微的差别,是很容易理解错误的,所以只要理解到位,在应用中才不会产生疑惑,甚至给应用带来隐形的隐患。 在这些给大家推荐一些关键点,以供学习参考: 1、理解与刷新有关的方法:Form.Requery、Form.Refresh、 Form.Repaint、 Form.Recalc方法;详细的情况可查阅我发过的文章。 2、理解与窗体位置移动有关的操作Form.Move方法和DoCmd.MoveSize方法,虽然两种方法参数相同,但原理却不同。 Form.Move方法相对于Access窗口而言,而DoCmd.MoveSize方法则是从Windows窗口的左边缘开始算起。 3、理解Access窗体的构造,窗体是由不同的节组合而成,这就是为什么窗体本身没有Height高度属性的原因,理解了构造,你会知道为什么窗体的单击双击事件、鼠标移动事件看上去会失效。 4、对于子窗体,要完全理解链接主、子字段的含义,通过控件名称、字段名称都可以建立主、子窗体(图表控件也是相同的原理)的关联与联动;通过多个控件名称、字段名称,就可以建立主、子窗体的多级筛选关系。 5、理解绑定了记录源的窗体与记录集的关系,窗体绑定记录源后,它就会变成一个临时记录集,同时也拥有的记录集的特性。 6、如何实现窗体之间的数据传递,请查阅我的文章,有多种不同的方法,都是利用Access的基本原理,这仅可帮助你掌握这些方法,还能快速理解原理中的实用知识点。 7、导航控件的知识体系,分为导航控件、导航按钮和导航子窗体,它们共同完成导航,多级导航的设计和基本原理。 8、理解窗体中记录是如何被保存的,以及记录保存与窗体设计保存(窗体关闭时)的区别;清楚地知道为什么窗体关闭、切换记录时都会自动保存记录,避免不经意间修改了数据。 9、窗体事件的的执行顺序很关键,例如打开窗体时,会触发到多个事件,这些事件有固定的顺序,深度掌握加载事件、成为当前事件、打开事件。 10、深度理解Access的Forms集合。Forms集合中存储着独立打开的窗体,所以它不含子窗体,使用Forms引用窗体时,最容易出现窗体不在Forms集合中的情形。窗体关闭后,会自动从Forms集合中清除。深度掌握窗体、控件的引用,掌握子窗体、子窗体中控件的引用。 11、适应学习和使用ActiveX控件。例如TreeView导航、Microsoft Web Browser控件、BarCode控件等等,在许多场合中,都能弥补Access原控件的不足,甚至带来奇效。 例如通过Microsoft Web Browser控件可以实现Web风格的多功能表格,这是Access窗体和控件无法完成的特效。 12、理解窗体筛选的操作方法,理解SearchForRecord宏或命令,熟悉窗体筛选Filter属性的操作以及不足之处(带来的隐患)。 13、了解用户窗体的创建和使用,用户窗体只能在VBE中创建,它能弥补Access窗体的某些缺陷,如:用户窗体可以在使用中添加和删除控件,能完成某些特别的功能。 14、深度理解Access模式窗体和对话框模式的区别,这也是你的打开、关闭窗体代码流程是否正确的关键。 Access窗体表面上是一个标准的Windows窗体,自带Windows窗体的特性(最大、小化,标准系统菜单等),但它只是Access程序内部的窗体,例如Access窗体有hWnd属性,但是控件就没有这个属性,因此在连续窗体中很难准确捕捉到它,悬停效果难实现。 阅读原文:https://mp.weixin.qq.com/s/nqCpnptUQbNPqsxjoVazUg 该文章在 2026/7/15 9:49:06 编辑过 |
关键字查询
相关文章
正在查询... |