2012-05-25 34 views
1

我正在尝试更新表中名为“tbl_Responses”的几个列,但运行后发现错误,我一直在寻找!Access VBA中的更新声明错误

varX= DLookup("[ID]", tableName, "[supplierNum] = " & supplierNum) 
updateFieldsTbl1="column1,column2,column3,column4" 
updateValuesTbl1 ="name,lastname, bla bla" 
'There is nothing wrong with those 3 variables above. 


sqlUp = "UPDATE " & tableName & "(" & updateFieldsTbl1 & ")" & " SET " & "(" & _ updateValuesTbl1 & ") WHERE ID = " & varX 
DoCmd.RunSQL sqlUp 

它在UPDATE语句行中给出一个错误。 你能告诉我做错了什么吗? 在此先感谢

回答

2

您解析字符串到:

UPDATE tableName (column1,column2,column3,column4) SET (name,lastname, bla bla) ... 

这类似于INSERT格式无效的UPDATE,正确的格式是:

UPDATE tableName 
SET column1 = 'name', 
    column2 = 'lastname', 
    columnN = valueN 
WHERE ID = X 

建立字符串因此,它应该工作。

1

这是一个INSERT的语法 - 一个更新的

UPDATE Table SET Field1=Value1, Field2=Value2, etc WHERE ...