MS Access:如何在按钮单击时获取文本框的值?

时间:2013-01-04 18:08:52

标签: sql ms-access

这是一个完整的新手问题,但我找不到任何在线解决方案(至少对我的理解没什么)。我想创建一个带有文本框和按钮的表单,然后单击该按钮,该按钮应采用文本框中写入的值,在表中查找具有该ID的行,并将属性更改为unavailable。通常我会用一个简单的SQL语句来做到这一点:

UPDATE table SET available='NO' WHERE id = *textbox.value*;

我应该写什么而不是textbox.value才能起作用?

2 个答案:

答案 0 :(得分:1)

您可以参考开放表格:

UPDATE table SET available='NO' WHERE id = Forms!MyForm!MyTextbox

假设表单是主表单而不是子表单。您还可以在VBA中运行SQL。确保您不通过表单和查询或代码同时更新记录。

重新评论

在这种情况下,问题是腐败,这是我经常忘记注意的事情。你会在这里找到一篇好文章:http://www.granite.ab.ca/access/corruptmdbs.htm,包括反编译。

答案 1 :(得分:1)

如果符合以下条件,从文本框中获取值会更加轻松:

  • 查询从VBA执行
  • VBA与文本框的格式相同

如果我理解正确的问题,就是这种情况。

然后你可以这样做:

Dim SQL As String

'case 1: when the id is a string value
SQL = "UPDATE table SET available='NO' WHERE id = '" & Me.NameOfTheTextBox & "';"

'case 2: when the id is a numeric value
SQL = "UPDATE table SET available='NO' WHERE id = " & Me.NameOfTheTextBox & ";"

CurrentDB.Execute SQL