所以我有一个令人沮丧的简单问题,我似乎无法解决.
If Me.Bank_Credit.Value = Null Then
Me.Bank_Credit.Value = 0
End If
Run Code Online (Sandbox Code Playgroud)
基本上,我有一个未绑定的框,用户输入数据然后点击按钮.确认框上的"是"后,未绑定框上的数据将复制到绑定框中.但是,如果用户没有输入任何内容,那么反过来会创建一个空的绑定字段,这会严重搞砸了路上的查询.
话虽这么说,上面的代码根本不适用于我.例如,如果我设置了如果Me.Bank_Credit.Value = 1然后运行它,则1s变为2s,应该发生.但它只是拒绝为Null甚至""工作.
我很确定这个问题有一个简单的解决方案,我只是想不出来.
提前致谢
Han*_*sUp 17
什么都不等于Null,甚至不是Null.没有什么不等于Null,甚至不是Null.
如果Bank_Credit
为 Null,则以下表达式将返回Null ...不是True
您所期望的,甚至是False
.
Debug.Print (Me.Bank_Credit.Value = Null)
Run Code Online (Sandbox Code Playgroud)
这与立即窗口中此结果的原因相同:
Debug.Print Null = Null
Null
Run Code Online (Sandbox Code Playgroud)
使用该IsNull()
功能.
If IsNull(Me.Bank_Credit.Value) Then
Run Code Online (Sandbox Code Playgroud)
另外,请查看Nz()
帮助主题以了解它是否有用.你可以做到这一点,虽然它并没有真正改善IsNull()
.但Nz()
对于其他VBA代码可以非常方便.
Me.Bank_Credit = Nz(Me.Bank_Credit, 0)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
509 次 |
最近记录: |