本帖最后由 盗梦 于 2015-4-15 10:58 编辑
PreviousControl属性特点:
1、PreviousControl属性是VBA一个很特别的属性。
2、它也非常有用。
3、在VB中是没有这个属性的。
PreviousControl属性作用:
* 它主要是返回上次获得焦点的控件对象。
例如你选择一个文本框,然后 点击一个按钮,在这个按钮的事件中对前面的文本框 进行相应的处理。
这时就需要获取上一个获得焦点的文本框控件是哪个控件,这里PreviousControl属性就非常有用了。
Access VBA教程:PreviousControl属性将 PreviousControl属性用于Screen对象可以返回对上次获得焦点的控件的引用。只读。
expression.PreviousControl expression 必需。返回“Applies To”列表中的一个对象的表达式。
说明PreviousControl属性包含对上次获得焦点的控件的引用。一旦建立了对控件的引用,就可以访问该控件的所有属性和方法。 该属性仅在使用宏或Visual Basic 时才可用。
除非在窗体打开后有多于一个控件获得焦点,否则不能使用 PreviousControl属性。如果窗体上只有一个控件获得焦点,则在试图使用该属性时 Microsoft Access 会出错。
VBA示例在以下的示例中,如果上次获得焦点的控件不是txtFinalEntry 文本框,则显示一条消息。 - Public Function ProcessData() As Integer
- ' No previous control error.
- Const conNoPreviousControl = 2483
- Dim ctlPrevious As Control
- On Error GoTo Process_Err
- Set ctlPrevious = Screen.PreviousControl
- If ctlPrevious.Name = "txtFinalEntry" Then
- 'Process Data Here.
- ProcessData = True
- Else
- ' Set focus to txtFinalEntry and display message.
- Me!txtFinalEntry.SetFocus
- MsgBox "请输入值."
- ProcessData = False
- End If
- Process_Exit:
- Set ctlPrevious = Nothing
- Exit Function
- Process_Err:
- If Err = conNoPreviousControl Then
- Me!txtFinalEntry.SetFocus
- MsgBox "请输入值.", vbInformation
- ProcessData = False
- End If
- Resume Process_Exit
- End Function
复制代码 |