尝试从Excel更新Access表中的记录

尝试从Excel更新Access表中的记录,excel,vba,Excel,Vba,我认为我的VBA应该与下面看到的类似,但它不起作用。我收到一条错误消息:“没有为一个或多个必需参数提供值。” 这些图像可能会有所帮助 你有什么想法吗?这应该很接近 当您将3-SYN传递给SQL时,它会尝试将其解析为数值3减去SYN的值,而SYN不是列名,被假定为参数 错误表明它找不到该参数。将传递的值用引号括起来,告诉SQL它是文本,应该可以解决问题 cn.Execute "UPDATE ALLL_HISTORY SET " & TheUpdate & " = '" &

我认为我的VBA应该与下面看到的类似,但它不起作用。我收到一条错误消息:“没有为一个或多个必需参数提供值。”

这些图像可能会有所帮助


你有什么想法吗?这应该很接近

当您将
3-SYN
传递给SQL时,它会尝试将其解析为
数值3减去SYN
的值,而
SYN
不是列名,被假定为参数

错误表明它找不到该参数。将传递的值用引号括起来,告诉SQL它是文本,应该可以解决问题

cn.Execute "UPDATE ALLL_HISTORY SET " & TheUpdate & " = '" & .Cells(i, j).Value & _
        "' WHERE DESC1 = " & .Cells(i, 1).Value, NumOfRec, adExecuteNoRecords

哪一行抛出错误?
DESC1
字段显示为文本。尝试将更新值包装在单引号中
WHERE DESC1='”&.Cells(i,1).Value&“”
。您可能还需要在
SET
语法中执行。Access要求文本类型列使用此语法。不知道
LLR\u产品
的列类型,但请尝试以下操作:
cn.Execute“UPDATE ALLL\u HISTORY SET”&TheUpdate&“=”&.Cells(i,j).Value&“WHERE DESC1=“&.Cells(i,1).Value,NumOfRec,adExecuteNoRecords
是的,就是这样。谢谢大家!
cn.Execute "UPDATE ALLL_HISTORY SET " & TheUpdate & " = '" & .Cells(i, j).Value & _
        "' WHERE DESC1 = " & .Cells(i, 1).Value, NumOfRec, adExecuteNoRecords