当焦点移动到一条记录上,使它成为当前的记录,或当窗体刷新或重新查询时,Current 事件发生。
Private Sub object_Current()
Object 窗体的名称。
若要在此事件发生时运行一个宏或事件过程,请将 OnCurrent 属性设置为宏的名称或 [事件过程]。
窗体打开时,以及只要焦点从一条记录移动到另一条记录,Current 事件就会发生。在第一条或下一条记录显示之前,Microsoft Access 将运行 Current 宏或事件过程。
在窗体的 Current 事件发生时运行宏或事件过程,可以显示消息,或者使当前记录与相关窗体中的记录同步。例如,当一个客户记录成为当前记录时,可以显示客户以前的某一订单;当供应商记录成为当前记录时,可以在“供应商”窗体中显示供应商生产的产品。也可以基于当前记录执行计算,或者更改窗体以响应当前记录中的数据。
如果宏或事件过程为响应 Open 事件而运行 GoToControl 或 GoToRecord 操作,或这些操作在 DoCmd 对象中的对应方法,Current 事件便会发生。
在刷新窗体或重新查询窗体的基础表或查询时,也会发生 Current 事件。例如,当单击“记录”菜单上的“取消筛选/排序”,或者使用宏中的 Requery 操作,或 Visual Basic 代码中的 Requery 方法时。
Open → Load → Resize → Activate → Current
在下面的示例中,Current 事件过程会检查名为“Discontinued”的选项按钮的状态,如果选择了该按钮,则示例会将“ProductName”字段的背景色设为红色,以表示该产品已停止生产。
要尝试该示例,请将下面的事件过程添加到一个包含选项(名为“Discontinued”)和文本框(名为“ProductName”)的窗体。
Private Sub Form_Current()
If Me!Discontinued Then
Me!ProductName.BackColor = 255
EndIf