我正在尝试使用OleDB 12将一些数据(作为局部变量存储在自动化工具中)发送到Excel工作表。到目前为止,我想出的代码(如下)是我成功编写的,可以成功地写入数据到模板化Excel工作表的第一行(标题已经填写)。我的问题是,每次后续迭代都不会在第一次成功之后将数据写入任何行(索引2)。
我尝试更改where子句以与行索引一起使用,而不是查找空行,但这并不成功,并返回了错误。我还尝试利用'INSERT INTO'语句,该语句在我尝试编写该语句的所有方式中都返回了复杂的运行时错误。您不能在Oledb中使用“ INSERT”吗?
更新语句(成功):
UPDATE [Sheet1$]
SET [SAP_ID] = %SapEmployeeNumber%
WHERE [SAP_ID] IS NULL;
插入语句(尚未生效):
INSERT INTO Sheet1$ (SAP_ID)
VALUES %SapEmployeeNumber%
WHERE [SAP_ID] IS NULL
期望将数据写入第一行(换句话说,员工编号为空)。
答案 0 :(得分:1)
首先:一个INSERT
语句从不有一个WHERE
子句-check the official MS docs on INSERT
。
第二:您需要将VALUES
部分中的值放在括号中,如下所示:
INSERT INTO Sheet1$ (SAP_ID)
VALUES (%SapEmployeeNumber%)