2017-04-17 73 views
0

我想完全自动化这个过程,我想知道如果它在VBA中可行或有效。月度报告自动与VBA + SQL Server存储过程?

报告过程涉及2个文件:一个sql文件和一个excel文件。

SQL文件有算法,最后一步是查询谁的结果被粘贴到excel文件中。

该算法比观众可能习惯的更简单,但有两个“输入”命令和几个“更新”命令。

  1. 两个“进入”命令,第一个抓取500m +记录表的一小部分(限制在上个月的第一天和最后一天)。第二个将第一个表与一个资格类型表连接起来。
    1. 创建第二个表之后,会有一系列UPDATE命令更改现有列的现有数据。
    2. 然后执行一系列ALTER & UPDATE命令,将新列添加到[第二个]表中并使用所需数据更新它们。
    3. 最后一步是查询谁的结果复制粘贴到Excel中(因为没有必要的格式更改)。

我不太精通的VBA/VBNET也不TSQL存储过程和动态SQL,如果SQL算法是不带表创建一个简单的拉查询,我可以建立一些自动执行。但是SQL有两个表创建,以及大约一打ALTER & UPDATE命令。

我在搅动错误的巢穴吗?我应该手动运行它吗?

+1

没有看到代码,这是任何人的猜测。我怀疑这个过程可能会被简化很多。这里是一个开始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

+0

**猜猜我的代码是什么**。你Q中没有代码,所以你尝试到目前为止?你是否也期待我们也能猜到? – Sami

+0

我很欣赏这个链接,并会尽力在未来的任何问题上达到这些标准。 对于这个问题,我不希望任何人花太多时间在上面,我很抱歉没有包含代码或者任何自我尝试。 –

回答

0

你绝对可以自动执行此操作。我创建了一个运行两个存储过程的报告,并使用临时表创建了大量查询,包括update和alter命令,然后使用VBA运行这些查询并汇总最终汇总表中的数据。

这里有很多文档。用户输入后,甚至可以将值传递给存储过程。

我会将此添加为评论,但我没有足够的声望进行评论(需要50)。

+0

这是个建议吗?一条评论?或答案? – Sami

+0

我已经做了一些研究,但不知何故错误地认为这不能以比手动执行更有效的方式完成。 现在,我明确知道它的可能性,这应该有足够的动力继续... ... –

+0

萨米 - 正如我所说这是一个评论,但直到现在我没有足够的声誉留下评论,但我有过去类似的问题,所以我觉得我的经验值得注意,因为李只是问他是否吠叫不对或不对。 –