【问题标题】:In Excel 2007, can I write a macro SQL statement to generate a target sheet from a source sheet?在 Excel 2007 中,我可以编写宏 SQL 语句从源工作表生成目标工作表吗?
【发布时间】:2011-05-02 21:43:08
【问题描述】:

我维护一个将汇总行插入数据库表的批处理过程,该数据库表是包含详细信息的源表的精确副本。这是通过许多 Insert Into/Select from 语句实现的,该语句在 group by 子句中具有各种字段,并覆盖那些不是的。确定这些摘要要求总是具有挑战性,我说的是 SQL,而用户说的是会计。

我想构建一个 Excel 电子表格,让用户可以准确地向我展示他们希望如何汇总数据。我的想法是一个带有源数据的 Excel 电子表格,每个字段的选项允许他们说明他们是否希望数据按该字段分组,或者用覆盖值覆盖。然后用户可以点击一个按钮,汇总的数据就会出现在一个新的工作表上。

我可以直接在工作表上的 Excel 宏中编写 SQL,就像它是关系数据库表一样吗?我在搜索时发现的大部分信息都涉及将电子表格导入或链接到数据库。我不是在找这个。安全方面,用户无权访问,我希望它独立于任何特定数据库。

我想坚持使用 SQL 进行分组逻辑,因为我已经知道了,而且我没有时间在 Visual Basic 中学习分组逻辑。谁能指出我正确的方向?谢谢。

【问题讨论】:

    标签: sql excel-2007


    【解决方案1】:

    您可以使用 ADO 使用 SQL 从 Excel 连接到另一个数据源。并且您可以使用 ADO 作为数据源连接到 Excel。

    当然你也可以用它来连接 Excel 到 Excel。

    进一步阅读 ADO:

    http://support.microsoft.com/kb/257819

    http://support.microsoft.com/kb/278973

    或者您可以了解数据透视表将带您走多远。

    【讨论】:

    • 感谢您的回复。自从我获得风滚草奖以来,我已经把这个问题写下来了!我最终找到了 ADO 的东西,并且能够像关系数据库表一样对 excel 电子表格运行 SQL。非常有用的恕我直言。我会在我回到办公室后发布我开发的内容。
    • 有关使用此方法的示例,请参阅here。有关这样做的局限性的完整讨论,请参阅here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2021-10-09
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多