Access中的VBA返回方法[重复]
Posted
技术标签:
【中文标题】Access中的VBA返回方法[重复]【英文标题】:VBA return methods in Access [duplicate] 【发布时间】:2020-05-12 22:18:27 【问题描述】:我不确定如何实现在 vba 中返回字符串的方法。例如,在 c# 中,我可以调用类似的方法;
public string ReturnString()
return "Hi";
但是,如果我想在 VBA 中调用同样返回字符串的代码,我该如何实现呢?例如,如果我希望我的 onclick 事件返回一串电子邮件;
Public Function EmailAll() As String
Dim employeeSQL As String
Dim employeeRS As DAO.Recordset
'Define SQL to loop
employeeSQL = "SELECT * FROM Employees"
Set employeeRS = CurrentDb.OpenRecordset(employeeSQL)
If Not employeeRS.BOF And Not employeeRS.EOF Then
employeeRS.MoveFirst
While (Not employeeRS.EOF)
If Nz(employeeRS.Fields("email"), "") <> "" Then
'Fields to return
EmailAll = EmailAll & email & ";"
End If
employeeRS.MoveNext
Wend
End If
employeeRS.Close
Set employeeRS = Nothing
End Function
【问题讨论】:
***.com/questions/2781689/… 这应该适合你。 抛开事件不返回任何内容,您的代码有什么问题?它应该正确返回值。 VB(A) 函数使用函数名作为返回变量。 阅读SK提供的链接;我需要添加的只是一个字符串变量到调用该函数的子程序。即“Dim i As String i = EmailAll()” 我只是用来测试理论 你所拥有的看起来不错。如前所述,在 VBA 中,您不能将 myStr 变暗为 string = "124",您必须使用两行代码 - 但您的方法应该可以正常工作,以及如何从用 VBA 编写的类返回或获取值,或者 c# 是一样的。在 c# 或 VBA 中从函数中获取值的方式也大致相同 - 您只需将函数名称分配给某个变量。 【参考方案1】:在 VBA 中使用函数时,与函数同名的变量的值就是返回的值。
例如,下面的代码将返回“返回值”:
Public Function Testing() As String
Testing = "Returned Value"
End Function
【讨论】:
以上是关于Access中的VBA返回方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章