Access 2007 文本框被视为空,而实际上不是

Posted

技术标签:

【中文标题】Access 2007 文本框被视为空,而实际上不是【英文标题】:Access 2007 textbox is seen as empty while it is not 【发布时间】:2015-10-06 13:23:34 【问题描述】:

我花了几个小时寻找我的问题,我找到了一些想法,但它仍然没有达到我想要的效果。

我有一个表单“AddWorker”,其中包含“姓名”、“姓氏”等 texboxes。 在这个表格的最后,我决定使用一个按钮来处理通过 VBA 代码添加到数据库中。

当我将一些数据放入 texbox 时,我可以通过 textbox.text 属性引用它们,但前提是我专注于这个 texbox。在其他情况下,我可以使用 textbox.value 属性。

在我的情况下,当我将所有数据放入 3 个文本框时,我单击“添加工作人员”按钮将人员添加到数据库,但最后一个文本框(例如 3)被视为空,因为它没有看到我放入的文本文本框。我需要单击另一个文本框(例如 2 或 1)来创建“某些事件”,然后它会更新文本框 3,并且可以在 vBA 中读取所有数据。

当我单击“添加工作人员”按钮时,我该怎么做才能看到所有用 VBA 填充的 texbox。

我找到了一些例子,但对我没有多大帮助。单击“添加工作人员”按钮时,我仍然看到空文本框。 Textbox null problem

【问题讨论】:

【参考方案1】:

首先,确保表单未绑定。它不应该有与之关联的记录源。

然后,尝试在 Add Worker 按钮后面的代码中添加一些消息框。比如:

Sub Add_Worker_Click()

    msgbox "Text1: " & Me.TextBox1.Value
    msgbox "Text2: " & Me.TextBox2.Value
    msgbox "Text3: " & Me.TextBox3.Value

    /* Comment out all of your code for now */

End Sub

试一试,看看文本框中的内容。然后用“.Text”替换“.Value”,看看你得到了什么。

【讨论】:

您好,感谢您的回答。所有文本框都是未绑定的。我以前做过所有这些检查。 您好,感谢您的回答。所有文本框都是未绑定的。我以前做过所有这些检查。当我在文本框中输入一些文本然后将焦点更改为另一个时,我可以获得 textbox.value。但是,如果我在文本框中键入一些文本并且不离开此文本框(焦点仍在该文本框上),则 value 属性为空。我需要单击其他一些文本框以让 access 2007 将此文本分配给 value 属性。现在我喜欢这样:Me.Comment.SetFocus Me.Comment.Value = Me.Comment.Text 在这两行代码之后我可以从文本框的 value 属性中获取文本。

以上是关于Access 2007 文本框被视为空,而实际上不是的主要内容,如果未能解决你的问题,请参考以下文章

输入 access 2007 表单时如何更新另一个文本框?

访问 2007 vba 空

FindFirst NoMatch 基于 Access 2007 表中的 2 列

Access 2007-搜索表单由于空白字段而未返回所有值--似乎找不到匹配的 LIKE

从文本框值查看组合框值 Microsoft Access 2007

将 Access 2007 日期/时间转换为文本,将 mm/dd/yyyy 转换为 yyyy-mm-dd