我需要一些Access VBA的帮助。
我需要从用户输入中定义表单中的变量,并根据选择使用该变量创建If
语句。
这样的事情:
'defining var
if text.value = 12 then
ST = "If Not HasValue(Forms!co.Theme) Or Not HasValue(Forms!co.cxlogin) Then"
else
ST = "If Not HasValue(Forms!co.message) Or Not HasValue(Forms!co.fone) Or Not HasValue(Forms!co.cxlogin) Then"
end if
然后,在另一种形式中,调用var和"注入"声明中的var ......
ST 'here i like to have the actual text in the var so i can build the statement
else
end if
HasValue
函数在一个模块中运行良好,我也声明var Public
所以我可以从我需要的任何形式调用它:
Option Compare Database
public ST as string
我拍摄月亮,还是真的很容易,而我却无法看到它?
答案 0 :(得分:0)
从技术上讲,你可以动态编写代码,但它很复杂,可能会导致很多问题,我可以保证有另一种方法来完成你需要做的事情。
没有看到更多的代码&我无法确定的形式,但也许一些嵌套的If
会更好,像这样:
Option Compare Database
Option Explicit 'always try to use this option too (for unrelated reasons!)
Public myFlag As Boolean
...然后......
If Text.Value = 12 Then myFlag = True Else myFlag = False
...然后......
If myFlag Then
If Not HasValue(Forms!co.Theme) Or Not HasValue(Forms!co.cxlogin) Then
'…_do something here_…
Else
'…_do something here_…
End If
Else
If Not HasValue(Forms!co.Message) Or Not HasValue(Forms!co.fone) Or Not HasValue(Forms!co.cxlogin) Then
'…_do something here_…
Else
'…_do something here_…
End If
End If
另外,HasValue
只是检查表单上的控件是否有值?如果是这样,另一种完成同样事情的方法就是:
If myFlag Then
If Nz(Forms!co.Theme, "") = "" Or Nz(Forms!co.cxlogin, "") = "" Then
'…_do something here_…
Else
'…_do something here_…
End If
Else
If Nz(Forms!co.Message, "") = "" Or Nz(Forms!co.fone, "") = "" Or Nz(Forms!co.cxlogin, "") = "" Then
'…_do something here_…
Else
'…_do something here_…
End If
End If
答案 1 :(得分:0)
您可以存储结果:
df['b'] = pd.Series(data=pd.NaT, index=df.index)
df.insert(column='b', loc=0, value=pd.NaT)
然后使用它:
Dim b As Boolean
If text.value = 12 Then
b = Not HasValue(Forms!co.Theme) Or Not HasValue(Forms!co.cxlogin)
Else
b = Not HasValue(Forms!co.message) Or Not HasValue(Forms!co.fone) Or Not HasValue(Forms!co.cxlogin)
End If