gpt4 book ai didi

ms-access - VBA MS Access : Function in a Private Sub to access Sub variables

转载 作者:行者123 更新时间:2023-12-02 06:21:31 25 4
gpt4 key购买 nike

这是一个简单的问题。我用谷歌搜索了一下,但没有发现太多相关的内容。

我已经完成了一个大型 Sub,并且想用任何需要几个输入参数并返回结果的代码替换重复的代码块。

所以基本上,我想剪一段代码然后开始

Private Sub Command1_Click()

Function Calc(input) as Integer
<insert snippet using Sub variables>
End Function

Dim base As Integer
base=1337
total = Calc(55)
if total <100 then total = Calc(56)
End Sub

...可以在函数中使用变量“base”。最理想的是,还可以 Access 函数设置的变量,而不必将它们放入数组中并返回。

实际上,我很乐意为此使用一个简单的包含或宏。这只是为了避免重复代码。

最佳答案

你不能像这样在 sub 中嵌套一个函数,它只会在你编译时向你显示一个错误。

将函数放在 sub 之外,并将计算所需的所有变量传递给它:

Private Sub Command1_Click()

Dim base As Integer

base=1337
total = Calc(55, base)
if total <100 then total = Calc(56, base)
End Sub

Function Calc(input as integer, ByRef base as integer) as Integer
<insert snippet using Sub variables>
End Function

使用 ByRef 关键字意味着传递变量的引用而不是值,这意味着如果您在函数中更新 base,它会在子函数中发生变化。

关于ms-access - VBA MS Access : Function in a Private Sub to access Sub variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534303/

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