我正在使用EXCEL宏/ 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'只是我想要插入一个柱子的值..
答案 0 :(得分:2)
您的括号不匹配。
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 & "')"
答案 1 :(得分:1)
您想使用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
列。这将在每次插入时自动递增。