VBA Access Textbox返回Null Value

时间:2015-03-08 04:56:36

标签: vba ms-access access-vba ms-access-2010

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

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

但这会不断返回NULL。甚至当文本框内有值时。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你的提法是错误的。它应该是:

MsgBox Forms![Client List]!txtSearch_POBOX.Value

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

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

答案 1 :(得分:0)

请记住,如果你想在挖掘时截取文本框值,直到你"验证"内容更改(例如失去焦点).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 

再见 WIZ