如何使此SQL语句写入第一行以外的空excel工作表?

如何使此SQL语句写入第一行以外的空excel工作表?,sql,excel,oledb,Sql,Excel,Oledb,我试图使用OLEDB12将一些数据(存储在自动化工具中的局部变量)发送到Excel工作表。到目前为止,我的代码(如下)就是我所想到的,它可以成功地将数据写入模板化Excel工作表的第一行(标题已经填写好)。我的问题是,在第一次迭代成功(索引2)之后,每个后续迭代都不会将数据写入任何行 我尝试将where子句更改为使用行索引,而不是查找空行,但没有成功,并返回了错误。我还尝试利用“INSERT-INTO”语句,该语句在我试图编写语句的每一个方面都会返回令人困惑的运行时错误。您不能将“插入”与Ole

我试图使用OLEDB12将一些数据(存储在自动化工具中的局部变量)发送到Excel工作表。到目前为止,我的代码(如下)就是我所想到的,它可以成功地将数据写入模板化Excel工作表的第一行(标题已经填写好)。我的问题是,在第一次迭代成功(索引2)之后,每个后续迭代都不会将数据写入任何行

我尝试将where子句更改为使用行索引,而不是查找空行,但没有成功,并返回了错误。我还尝试利用“INSERT-INTO”语句,该语句在我试图编写语句的每一个方面都会返回令人困惑的运行时错误。您不能将“插入”与Oledb一起使用吗

更新语句(半成功):

插入语句(尚未开始工作):


期望将数据写入第一个空行(换句话说,员工编号为空)。

首先:
INSERT
语句NEVER有一个
WHERE
子句-

其次:您需要将
values
部分中的值放入括号中,如下所示:

INSERT INTO Sheet1$ (SAP_ID)
VALUES (%SapEmployeeNumber%)

那么发生了什么?是在第一行之后抛出错误,还是只是写入并覆盖该行?谢谢您的回复。什么都没有发生;没有错误,也没有任何数据调整。什么都没有发生?所以,当你运行你的代码时,它只是…运行,什么也不做,完成?这是正确的。不会对excel工作表进行任何更新。现有数据不受影响。但是,请记住,这只是在第一次尝试之后,我才能够编写数据。只有在第一次迭代之后,似乎什么都没有发生。那么,那也不是什么都没有发生,是吗?数据是在第一次通过时写入的,而不是在随后的迭代中写入的。啊!很高兴知道,谢谢。我继续把变量用大括号括起来。不幸的是,我仍然看到这个错误:“运行时错误:SQL语句中的错误:INSERT INTO语句中的语法错误。”术语说明:[]大括号或括号{}花括号/括号()括号
INSERT INTO Sheet1$ (SAP_ID)
VALUES %SapEmployeeNumber%
WHERE [SAP_ID] IS NULL
INSERT INTO Sheet1$ (SAP_ID)
VALUES (%SapEmployeeNumber%)