将Excel中的SQL代码导出到SQL中

我的技能水平:VBA的基本用户,几乎不了解SQL(尽pipe我最近学会了如何执行代码等)。

我在Excel工作表中创build了一个用户界面,允许用户input报表variables(date等)。 这些传递到第二个Excel工作表,通过使用各种Excel语句,创build必要的SQL代码。 然后,我的macros将复制此工作表,并通过shell命令打开Microsoft SQL Server 2008 Rx。 目前,我然后手动点击生成的Microsoft SQL Server 2008 R2连接到服务器窗口(这不需要密码,只需要点击“连接”),我创build一个新的查询,我粘贴代码然后在SQL中执行。 所以这是后面的步骤(打开SQL,点击“连接”,复制/粘贴代码,执行),我试图通过VBA自动化。

为了提供更多的上下文,一旦SQL代码已经运行,然后我有第二个macros,它使用Excel数据连接向导将生成的SQL数据返回到我的工作表中。 这很好。

我已经在各种板子上研究了好几天了。 没有人似乎观察到我在Excel中创build代码的方法(可能是因为它是一个不雅的方法)。 或者post回复超出了我的技能水平要理解。 但是我担心我在问一个已经被回答的问题(事先道歉)。

感谢您提供任何build议/时间。

我使用的是:Excel / Office 2010 Microsoft SQL Server2008 R2(与Microsoft SQL Serverpipe理工作室相同,我的SQL应用程序显示两个名称)Microsoft ActiveX Data Objects 6.1 Library(目前没有closures。引用了这个需要,我也有多个以前的AciveX库版本。)

你在做什么是非常巧妙的,但可能没有必要。 Excel有许多用于导入外部数据的function。

我将查看Excel中的“ Data选项卡和function区的“ From Other Sources部分。 您至less有三个选项: From SQL ServerFrom Data Connection WizardFrom Microsoft Query选项。

所有这些都将build立到数据库服务器的连接并针对它执行SQL。 他们以不同的方式将数据返回到电子表格。

VBA将再次发挥作用的地方在于自动执行这些查询的生成和参数化。

但是我会设置一些可行的参数值常量,首先让你了解可能性,然后阅读和研究dynamic设置你的SQL与VBA。

顺便说一下,您也可以调查PowerPivot