【发布时间】:2016-07-06 16:33:54
【问题描述】:
我必须声明我之前问过这个问题,但我发现一些措辞错误会导致误导。因此,我决定删除旧问题并再次提问。
这是我的 sql:
Select officer , NULL ,NULL, salary from table
由于我使用ADO在excel中运行sql,所以在运行sql查询之前需要第二列和第三列输入数据。
但我使用 NULL 跳过 2 列。sql 查询将清除并重置存储在第 2 列和第 3 列中的数据或 excel 公式,因为我选择将这 2 列设为 NULL。
因此,如何跳过这两列而不影响这两列数据或公式?
可视化:
官员,第 2 栏,第 3 栏,薪水
_, 2,=sum(B2*C2), _
SQL 查询运行:Select officer , NULL ,NULL, salary from table
官员,第 2 列(NULL),第 3 列(NULL),薪水
988, ___ ,___ , $4789//SQL查询清空2,3列中存储的原始数据
(___ 表示空白)
如何解决这个问题?
【问题讨论】:
-
为什么不运行两个查询,例如
Select officer from table ORDER BY xxx和Select salary from table ORDER BY xxx,其中似乎需要 ORDER 以确保您获得匹配的数据集 -
另一种方法是通过循环记录集而不是
.CopyFromRecordset将数据加载到excel。然后循环将只针对第一、第四和第五个字段... -
@KazimierzJawor 现在我已经建立了一个 sql 语句
mrs.Open sSQLSting, Conn sheet6.Range("A5").CopyFromRecordset mrs但是这个 sql 语句跨越了不需要放置的单元格 -
@KazimierzJawor 你的意思是把数据放到每个字段的单元格中?语法怎么样,而不是 .CopyFromRecordset?
-
我建议使用两个 SQL 而不是一个...!请参阅下面的示例@daZza