VBA 访问文本框返回空值
VBA Access Textbox returning Null Value
我有一个 VBA 访问用户表单。在这个 useform 中有一个名为 txtSearch_POBOX
的文本框。我正在尝试使用以下代码获取其值:
Private Sub txtSearch_FirstName_Change()
MsgBox ([Form_Client List].txtSearch_POBOX.Value)
End Sub
但是这是不断返回NULL。当甚至当文本框内有一个值时。有什么想法吗?
您的参考资料有误。它应该是:
MsgBox Forms![Client List]!txtSearch_POBOX.Value
因为它可能是空的,你应该使用:
MsgBox Nz(Forms![Client List]!txtSearch_POBOX.Value)
请记住,如果您想在数字化时截取文本框值,直到您 "validate" 内容发生变化(例如失去焦点)时,.Value 属性 才会更新。
例如,我使用文本框制作子掩码的 运行 过滤器:我想在数字化时过滤子掩码。
为此,您需要使用 .Text 属性。
在下面的示例中,我对发布者列表进行了 运行 筛选:
Private Sub txtNameFilter_Change()
On Error Resume Next
Dim strFilter As String
If Not IsNull(Me.txtNameFilter.Text) Then
strFilter = "Publisher LIKE '*" + Me.txtNameFilter.Text + "*'"
Me.Filter = strFilter
Me.FilterOn = True
Me.txtNameFilter.SelStart = Len(Me.txtNameFilter.Text)
End If
End Sub
再见
维兹
我有一个 VBA 访问用户表单。在这个 useform 中有一个名为 txtSearch_POBOX
的文本框。我正在尝试使用以下代码获取其值:
Private Sub txtSearch_FirstName_Change()
MsgBox ([Form_Client List].txtSearch_POBOX.Value)
End Sub
但是这是不断返回NULL。当甚至当文本框内有一个值时。有什么想法吗?
您的参考资料有误。它应该是:
MsgBox Forms![Client List]!txtSearch_POBOX.Value
因为它可能是空的,你应该使用:
MsgBox Nz(Forms![Client List]!txtSearch_POBOX.Value)
请记住,如果您想在数字化时截取文本框值,直到您 "validate" 内容发生变化(例如失去焦点)时,.Value 属性 才会更新。
例如,我使用文本框制作子掩码的 运行 过滤器:我想在数字化时过滤子掩码。 为此,您需要使用 .Text 属性。
在下面的示例中,我对发布者列表进行了 运行 筛选:
Private Sub txtNameFilter_Change()
On Error Resume Next
Dim strFilter As String
If Not IsNull(Me.txtNameFilter.Text) Then
strFilter = "Publisher LIKE '*" + Me.txtNameFilter.Text + "*'"
Me.Filter = strFilter
Me.FilterOn = True
Me.txtNameFilter.SelStart = Len(Me.txtNameFilter.Text)
End If
End Sub
再见 维兹