0

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

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

我应该写什么而不是 textbox.value 以便它工作?

4

2 回答 2

1

您可以参考一个开放的表格:

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

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

重新评论

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

于 2013-01-04T18:10:32.323 回答
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
于 2013-01-04T20:15:21.027 回答