您的当前位置:首页09AccessVBA基础知识_获得焦点事件

09AccessVBA基础知识_获得焦点事件

2022-03-23 来源:爱问旅游网
 UMVsoft技术文档

Access VBA基础知识 获得焦点事件 判断操作员选择的是哪条记录

作者: 张志 微软最有价值专家 (Most Valuable Professional) QQ: 56217686 时间: 2010/4/25

来源: 上海盟威软件有限公司(http://www.umvps.com)。公司拥有以微软最有价值专家为核心的技术团队,专业从事Aaccess开发培训,学员可非脱产方式参加培训,自由安排学习时间,并通过网络获得公司的技术支持,几年来已为全国各地大中型企事业单位培养了众多“精管理、懂编程”的复合型人才,详情了解: http://www.accessoft.com/training.asp。

一、摘要:

获得焦点事件(GotFocus) 是当窗体或控件获得焦点时发生。例如当光标从A文本框移动到B文本框时,就会触发B文本框的获得焦点事件。在用数据表子窗体显示记录时,如果需要知道操作员选定的是哪条记录,那么我们可以利用获得焦点事件来达到这一目的。

二、正文:

在示例文件中打开“3.2.6 判断操作员选择的是哪条记录.mdb”文件,单击导航区的【窗体】,显示出所有窗体,如图3.105所示。

图3.105获得焦点事件(1)

双击“frm工资”窗体,打开后的窗体如图3.106所示。

第1页/共8页

UMVsoft技术文档

图3.106获得焦点事件(2)

我们希望选定某条记录后,再单击【修改】按钮,能够打开相应的员工的工资信息窗体,以修改相应的工资信息,如图3.107所示。

图3.107获得焦点事件(3)

现在,我们通过获得焦点事件来达到目的,首先创建一个新模块ModCode,在ModCode模块中定义一个全局变量g_ygID(说明:如何定义全局变量请参考3.2.3节 Public语句 使用全局变量),如图3.108所示。

第2页/共8页

UMVsoft技术文档

图3.108获得焦点事件(4)

在ModCode模块中写下一个选择记录的函数selectRecord,具体代码为: Function selectRecord() On Error GoTo Err_selectRecord: ' 鼠标单击时选定整行记录 DoCmd.RunCommand acCmdSelectRecord Exit_selectRecord: Exit Function Err_selectRecord: Resume Exit_selectRecord End Function

selectRecord函数的作用有两个:一是让被选择的记录整行变色;二是让第1列获得焦点。这样就可以触发某条记录第一列的获得焦点事件,VBA设计界面如图3.109所示。

第3页/共8页

UMVsoft技术文档

图3.109获得焦点事件(5)

保存代码后,关闭VBA设计界面。

进入“frm工资_child”窗体的设计界面,在窗体的属性->事件->成为当前 事件中写上=selectrecord() ,如图3.110所示。

图3.110获得焦点事件(6)

然后,选择gzID文本框,在属性中找到“获得焦点”事件,如图3.111所示。

第4页/共8页

UMVsoft技术文档

图3.111获得焦点事件(7)

单击右边的按钮,就进入了窗体中的VBA代码设计画面,在gzID文本框的获得焦点事件中写上代码,代码为:

' 给全局变量g_ygID赋上当前记录的员工编号 g_ygID = Me.ygID 这时,VBA设计界面如图3.112所示。

图3.112获得焦点事件(8)

第5页/共8页

UMVsoft技术文档

保存代码后,关闭VBA设计界面,再关闭“frm工资_child”窗体的设计界面。

进入“frm工资_child_Edit”窗体的设计界面,在窗体的属性->事件->加载 事件中写上代码: ' 窗体加载时,赋上数据源 Me.RecordSource = \"select * from tbl工资 where ygID='\" & g_ygID & \"'\" VBA设计界面如图3.113所示。

图3.113获得焦点事件(9)

保存代码后,关闭VBA设计界面,再关闭“frm工资_child_Edit”窗体的设计界面。

进入“frm工资”窗体的设计界面,选定【修改】按钮,找到这个按钮的属性->事件->打开 事件,如图3.114所示。

第6页/共8页

UMVsoft技术文档

图3.114获得焦点事件(10)

单击右边的码,代码为:

按钮,就进入了窗体中的VBA代码设计画面,在【修改】按钮的单击事件中写上代

' 打开窗体 frm工资_child_Edit DoCmd.OpenForm \"frm工资_child_Edit\" VBA设计界面如图3.115所示。

第7页/共8页

UMVsoft技术文档

图3.115获得焦点事件(11)

保存VBA代码,关闭VBA设计界面,再关闭“frm工资”窗体的设计界面,这样,我们就完成了程序的代码设计,现在,运行“frm工资”窗体,选定一条记录,再单击【修改】按钮,就会打开相应的工资信息了。

第8页/共8页

因篇幅问题不能全部显示,请点此查看更多更全内容