SQL From Excel VBA:从SQL查询

时间:2017-06-01 07:51:43

标签: sql sql-server excel vba excel-vba

我一直在寻找一种直截了当的方法来做到这一点,但我遇到的大多数答案都是在切线上而不是直接解决问题。

这是我尝试通过VBA运行的简化SQL代码段

SELECT * INTO ##Customers FROM Addresses 
SELECT * FROM ##Customers a LEFT JOIN PostageRate b ON a.ZipCode=b.ZipCode 

然后我需要将所有这些数据放入Excel表格中。

到目前为止,我能够执行:

SELECT * FROM Addresses 

这是没有临时表的第一个查询的功能等价物。我使用RecordSet登陆,然后使用CopyFromRecordSet将其放入工作表中,但我不知道如何将此RecordSet转换为表格,以便我可以查询第二个查询,我执行 LEFT JOIN ,然后将结果RecordSet放在工作表上。

当然,我尝试运行的查询比这个查询更复杂,但这说明了我想要实现的目标。

道歉,如果我错过了一个回答这个问题的帖子,但我还没有碰到它。

谢谢!

编辑:我已经研究过将第一个查询中的数据放到工作表上,并将工作表视为第二个查询的表。问题如下: 工作表是本地的,第二个表位于数据库中。根据{{​​3}},数据库需要访问Excel工作表。它不是。有关如何通过VBA实现临时表的任何更多见解将不胜感激。谢谢大家!

1 个答案:

答案 0 :(得分:0)

SELECT * FROM 
(SELECT * from [Addresses]) AS Customer 
LEFT JOIN PostageRate 
ON (customer.zipcode = PostageRate.zipcode)