VBA访问文本框返回空值

Posted

技术标签:

【中文标题】VBA访问文本框返回空值【英文标题】:VBA Access Textbox returning Null Value 【发布时间】:2015-03-08 04:56:35 【问题描述】:

我有一个 VBA Access 用户表单。在这个用例中有一个名为txtSearch_POBOX 的文本框。我正在尝试使用以下代码获取其价值:

Private Sub txtSearch_FirstName_Change()
MsgBox ([Form_Client List].txtSearch_POBOX.Value)
End Sub

但这总是返回NULL。即使文本框中有一个值。有什么想法吗?

【问题讨论】:

【参考方案1】:

你的参考是错误的。它应该是:

MsgBox Forms![Client List]!txtSearch_POBOX.Value

因为它可能是空的,你应该使用:

MsgBox Nz(Forms![Client List]!txtSearch_POBOX.Value)

【讨论】:

【参考方案2】:

请记住,如果您想在数字化时截取文本框值,直到您“验证”内容更改(例如失去焦点),.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访问文本框返回空值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用文本框搜索功能返回同一列中的空值和值

如何从报表上的选定文本框中提取文本? VBA

vba窗体中如何获取列表框listbox1选中行的值返回到文本框textbox1。

Access 2016 VBA 文本框为空

vba inputBox:如何用空文本框区分“取消”和“确定”之间的区别

文本输入 Excel VBA 上的文本框文本消失 - 第 2 部分