插入A db时语法不正确

我正在使用EXCELmacros/ vba将xls表格中的数据插入到SQL数据库中。

任何人都可以解释为什么我得到这个错误消息…

不正确的语法近“开放”

我运行的代码是一个插入语句

Dim insert As String insert = "INSERT INTO dbo.HEADER (plant, taskno, tskstatus, category, opened, openedby, title) VALUES ( 'UK', (select Max(taskno) AS count from HEADER)+ 1), 'open', 'RFSA', CONVERT(datetime,'" & strdate & "',103), '" & UserId & "', '" & strtitle & "')" 

该代码将以下内容插入到SQL数据库中。

“OPEN”只是一个值,我试图插入到一个列..

你想使用insert . . . select insert . . . select insert . . . select语法:

 INSERT INTO dbo.HEADER(plant, taskno, tskstatus, category, opened, openedby, title) SELECT 'UK', Max(taskno) + 1, 'open', 'RFSA', CONVERT(datetime,'" & strdate & "',103), '" & UserId & "', '" & strtitle & "' from Header; 

但是,因为您正在使用SQL Server,所以您希望taskno成为identity列。 这将自动增加每个插入。

你的括号不匹配。

 insert = "INSERT INTO dbo.HEADER (plant, taskno, tskstatus, category, opened, openedby, title) VALUES ( 'UK', (select Max(taskno) AS count from HEADER)+ 1, 'open', 'RFSA', CONVERT(datetime,'" & strdate & "',103), '" & UserId & "', '" & strtitle & "')"