Screen.PreviousControl的使用技巧

2017-10-30 14:27:00
zstmtony
原创
76
Screen.PreviousControl 属性  
 
可以使用Screen对象有焦点时可返回到上次获得焦点的控件的引用。只读的。
 
Screen对象 一个表示屏幕对象的变量。
注解
焦点时包含对上一次具有焦点的控件的引用。一旦建立了对控件的引用,可以访问所有的属性和控件的方法。
只有在任何窗体上的多个控件已获得焦点,窗体打开后,才能使用焦点时。如果您尝试使用此属性,当只有一个窗体上的控件已获得焦点时,Microsoft Access 将生成一个错误。
示例

下面的示例将显示一条消息,如果上次获得焦点的控件不是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 "Please enter a value here." 
 ProcessData = False 
 End If 

Process_Exit: 
 Set ctlPrevious = Nothing 
 Exit Function 

Process_Err: 
 If Err = conNoPreviousControl Then 
 Me!txtFinalEntry.SetFocus 
 MsgBox "Please enter a value to process.", vbInformation 
 ProcessData = False 
 End If 
 Resume Process_Exit 

End Function


分享