在Access中使用SQL,尝试使用用户名从另一个表“更新”表。 下面的第3行(SQLnm2 ...)说错误-2465找不到字段'|'。 我试过很多方法改变表达但没有成功。 非常感谢任何帮助。
Dim SQLnm As String
Dim SQLnm2 As String
SQLnm2 = SQLnm2 & "', '" & [Employees]![NBK] & "');"
SQLnm = " Update tbl_DateTracking SET NBK = "
SQLnm = SQLnm & "'" & SQLnm2 & "' WHERE "
SQLnm = SQLnm & "CaseId = '" & CaseId & "' AND OCC_Scenario = '" & OCC_Scenario & "';"
DoCmd.RunSQL SQLnm
答案 0 :(得分:0)
你有一个关闭括号,在第三行没有打开它。
SQLnm2 = SQLnm2& “','”& [员工]![姓名]& “');”
您也没有说明要更新的列。您似乎想要更新2列,第一列是NBK,其值为空。第二个是棘手的,因为您要么更新名为Name的列,要么将另一列更新为employee.name的值。
您的代码连接到
更新tbl_DateTracking SET NBK ='','员工姓名'WHERE
您的代码需要说明哪个列是员工姓名。
EG
更新tbl_DateTracking SET NBK ='',EnterColumnNameHere ='Employee.Name'WHERE
或者你的意思是
更新tbl_DateTracking SET NBK ='Employee.Name'WHERE
在我知道您要填充多少列(以及具有什么价值)之前,我无法提供SQL代码。
作为背景指南:
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'
WHERE LastName='Tjessem' AND FirstName='Jakob'
答案 1 :(得分:0)
Dim SQLnm2 As String
应该将SQLnm2
初始化为空字符串,所以
SQLnm2 = SQLnm2 & "', '" & [Employees]![name] & "');"
会产生一个字符串', '...');
。
SQLnm = " Update tbl_DateTracking SET NBK = "
SQLnm = SQLnm & "'" & SQLnm2 & "' WHERE "
然后将该字符串插入SQLnm
,生成查询
Update tbl_DateTracking SET NBK = '', '...');' WHERE ...
应该是
Update tbl_DateTracking SET NBK = '...' WHERE ...