0

在 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 
4

2 回答 2

0

你有一个右括号,它没有在你的第三行打开。

SQLnm2 = SQLnm2 & "', '" & [员工]![姓名] & "');"

您也没有说明要更新哪一列。看来您要更新 2 列,第一列是 NBK,其值为空。第二个是棘手的,因为您要么想要更新名为 Name 的列,要么将另一列更新为 employee.name 的值。

您的代码连接到

更新 tbl_DateTracking SET NBK = '', 'Employee name' WHERE

您的代码需要说明哪一列是员工姓名。

例如

更新 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'
于 2012-09-06T13:30:59.850 回答
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 ...
于 2012-09-06T13:40:53.610 回答