尝试运行Update查询但语法错误

时间:2015-04-17 12:11:15

标签: vba ms-access sql-update

我正在尝试创建更新查询:

v_sqlcommand = "UPDATE User SET User.Doctor = " & txt_doctor.Text & ", User.DoctorSurgeryAddressStreet = " & txt_streetname.Text & " WHERE User.UserID = " & UserID

但是我不断向我发出语法错误。我已经放入一个断点并从调试器运行查询,当我在访问中运行查询时,它可以工作。我检查了文本框名称,它们没问题。有点困惑......

2 个答案:

答案 0 :(得分:0)

根据您的代码,我假设DoctorDoctorSurgeryAddressStreet的值是Text类型,因此您需要将它们包含在String literals(')中。你的INSERT应该是。

v_sqlcommand = "UPDATE User SET User.Doctor = '" & Me.txt_doctor & "', " & _
               "User.DoctorSurgeryAddressStreet = '" & Me.txt_streetname & "' " & _
               "WHERE User.UserID = " & Me.UserID

您不应该(不应该)使用.Text,因为这将要求控件在访问它们之前具有焦点。

答案 1 :(得分:0)

当你声明使用VS2010而应用标签VBA时,这里有很多困惑。这已被标签vb.net取代。 因此:

v_sqlcommand = "UPDATE User SET User.Doctor = '" + Me.txt_doctor.Text + "', " + _
               "User.DoctorSurgeryAddressStreet = '" + Me.txt_streetname.Text + "' " + _
               "WHERE User.UserID = " + Me.UserID.Text + ""