如何解决MS-ACCESS VBA如何通过表单名和控件名调用公共函数
我有一个公共功能,可以将值从文本框复制到另一个文本框。
Public Function ChangeDocType(frmName As Form,ctrlSourceName As control,ctrlDestName As control)
frmName.ctrlDestName.value = frmName.ctrlSourceName.value
End Function
我正在以这种形式调用此函数,但不起作用..help
ChangeDocType Me,Me.Source.Name,Me.Dest.Name
解决方法
您的参数名称令人困惑,因为您没有传递控件的名称,而是控件本身。同样,这样做时,该表格也没有用。此外,在6月7日,我将使用子过程,因此:
Public Sub ChangeDocType(Source As Control,Destination As Control)
Destination.Value = Source.Value
End Sub
被称为
ChangeDocType Me!Source,Me!Destination
如果您希望传递控件的名称,则需要表单,此处也需要其名称:
Public Sub ChangeDocType(FormName As String,SourceName As String,DestinationName As String)
Forms(FormName).Controls(DestinationName).Value = Forms(FormName).Controls(SourceName).Value
End Sub
被称为:
ChangeDocType Me.Name,Me!SourceControl.Name,Me!DestinationControl.Name
,
我使它起作用(我将其设为Sub,但Function可以起作用):
ChangeDocType Me,Me.Source,Me.Dest
Public Sub ChangeDocType(frmName As Form,ctrlSourceName As Control,ctrlDestName As Control)
frmName(ctrlDestName.Name) = frmName(ctrlSourceName.Name)
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。