access中,如何让每次双击控件都执行同一个会返回控件名称的有参函数?
时间: 2024-02-03 09:11:19 浏览: 23
你可以在控件的双击事件中调用一个公共函数,而这个函数的参数就是控件的名称。下面是一个示例代码:
```
Public Function OnControlDoubleClick(controlName As String)
' 在此处编写双击事件的处理代码
' 可以使用 controlName 参数来获取控件的名称
End Function
```
然后,在每个控件的双击事件中,都调用这个公共函数并传入控件的名称作为参数。例如,对于一个名为“TextBox1”的文本框控件,你可以在它的双击事件中写入以下代码:
```
Private Sub TextBox1_DblClick(Cancel As Integer)
Call OnControlDoubleClick("TextBox1")
End Sub
```
这样,无论用户双击哪个控件,都会执行相同的代码,而且你可以通过传入不同的控件名称来区分它们。
相关问题
access中,如何双击任意控件都执行同一个会返回控件名称的有参函数?
你可以在窗体的代码模块中编写一个通用的函数,用于处理控件的双击事件,然后将该函数绑定到所有控件的双击事件中。该函数可以使用Access的内置函数来获取双击的控件名称,然后将其作为参数传递给你想要执行的函数。
以下是一个示例代码,假设你想要执行的函数名为“myFunction”:
```
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Then
'绑定双击事件
AddHandler ctl.DoubleClick, AddressOf Control_DoubleClick
End If
Next ctl
End Sub
Private Sub Control_DoubleClick(ByVal sender As Object, ByVal e As EventArgs)
'获取控件名称
Dim ctlName As String
ctlName = Screen.ActiveControl.Name
'执行函数
myFunction(ctlName)
End Sub
```
在上面的代码中,我们遍历了窗体中的所有控件,并将双击事件绑定到文本框和组合框上。当控件被双击时,会触发`Control_DoubleClick`函数,该函数会获取控件名称并将其作为参数传递给`myFunction`函数。
access如何在vba中双击任意控件后获取该控件的名称
在VBA中,可以使用`Me.ActiveControl.Name`来获取当前活动控件的名称,也就是双击后获取该控件的名称。以下是一个示例代码:
```
Private Sub AnyControl_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "当前活动控件名称为:" & Me.ActiveControl.Name
End Sub
```
这个代码需要在该表单或用户控件的代码模块中添加。其中,`AnyControl`表示任意控件,当任意一个控件被双击时,就会触发该事件,并弹出消息框显示当前活动控件的名称。