2012-05-25 87 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 ...