gpt4 book ai didi

ms-access - Access VBA 中的评估范围

转载 作者:行者123 更新时间:2023-12-04 05:27:56 27 4
gpt4 key购买 nike

请帮忙。

=不工作:

Function f()
f = 1
End Function

Private Sub Button1_Click()
k = Eval("f()")
End Sub

=不工作:

Private Sub Button1_Click()
с=1
k = Eval("с")
End Sub

=做作业:

Function f()
f = 1
End Function

Private Sub Button1_Click()
k = f()
End Sub

=在帮助中:以下示例假定您有一系列定义为 A1、A2 等的 50 个函数。此示例使用 Eval 函数调用系列中的每个函数。

Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub

如何使变体 1 起作用?

提前致谢。

++++++++++++++++++++++++++++++

=更新:我在“不起作用”部分遇到的错误数是 2425。“找不到函数的名称。” (或“找不到表达式的名称。”在第二种情况下)。对不起我的英语。

=更新:当我尝试在 Eval 中显式命名该函数时:

 k = Eval("[Forms]![Form1].f()")

我收到错误 31005 -“Access 无法计算表达式,因为存在对“f”的引用”。我开始怀疑Access禁止在Eval中使用用户定义的函数和变量。虽然帮助状态相反。

=更新:做工作:

    Function f()
f = 1
End Function

Private Sub Button1_Click()
k = Eval("val(""551" & "9" & "6"")")
End Sub

对于我来说,双引号的规则非常奇怪。但这并不能解决我的问题。

最佳答案

Eval 函数无法 Access Form 模块中的函数。将函数放在普通的 Module 中。

关于ms-access - Access VBA 中的评估范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8997026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com