1

我使用 MS Access 数据库和具有字段的表 stock:

  • 品牌

  • 型号名称

  • 股票

现在我想更新特定产品的库存价值。为此,我有两个输入框。

我使用下面的代码。

Private Sub cmddelstock_Click()
 Dim a As String
 Dim b As Integer
 a = InputBox("ENTER THE MODEL NAME HERE")
 b = Val(InputBox("ENTER NEW STOCK VALUE OF THE MODEL"))
 Adodc1.RecordSource = "UPDATE stock SET Stock='b' where Model_Name='a' "
 Adodc1.Refresh

我遇到的错误是 from 子句中的语法错误。我不通过代码连接到数据库,而是通过右键单击连接到它,然后转到属性。在那里我使用连接字符串=microsoft jet oledb 4.0

然后在记录源选项卡命令type=1-adcmd type

进行UPDATE库存

现在我应该在命令文本中使用什么?

4

2 回答 2

0

.RecordSource 属性就是:填充 ADODBGrid 的来源。因此,您不能使用此属性来发出UpdateSQL 命令(顺便说一下,它本身有一些语法错误)。

您需要将 SQL 字符串放在处理基础数据的类的某种 .Execute Sub 中。

我不熟悉 ADO(我只使用 DAO),但在 DAO 中这看起来像

dbStockDatabase.Execute "UPDATE Stock SET Stock.Stock=" & b & " WHERE Stock.Model_Name='" & a & "'"
于 2013-08-24T17:05:17.267 回答
0

在这种语法中:

Adodc1.RecordSource = "UPDATE stock SET Stock='b' where Model_Name='a' "

a 和 b 不是变量,而是它的字符,将其更改为:

"UPDATE stock SET Stock='" & b & "' where Model_Name='" & a & "'"
于 2013-08-24T17:06:28.293 回答