【问题标题】:I need a VBA script to run on excel to copy all my access tables columns in Excel sheet我需要一个 VBA 脚本才能在 excel 上运行以复制 Excel 表中的所有访问表列
【发布时间】:2015-08-11 22:52:35
【问题描述】:

我有大约 10 个 Office 版本 2003 的 *.mdb Access 文件。我正在使用仅安装 Excel 2003 但未安装 Access 的客户端计算机。

每个数据库文件中大约有 50-100 个表,每个表大约有 20-30 列。我需要在 Excel 上运行 VBA 脚本或任何导入,以便我可以将所有 Access 表及其列复制到我的 Excel 工作表中。我不需要 Access 表的数据,只有表及其列名是我需要的。

【问题讨论】:

  • 你能推荐一些可以在哪里寻找它的网站。我对这一切完全陌生。
  • 在 google 中输入 ado 架构,看看你的进展如何。

标签: excel ms-access vba


【解决方案1】:

计划:

For Each MDB In YourMdbs (file in folder, hard-coded list, ...)
    For Each TABLE In MDB (filtered, no MSys tables, ...)
        XLS = FSpec to non-existing .xls corresponding to MDB
        Execute on ADO connection to XLS:
          SELECT * INTO <TABLE> FROM <TABLE> IN "<FSpec to MDB>" WHERE 1=0

基于:IN CLAUSE

这种方法会将 .mdbs 表模式导出到 .xls 工作表不会对 ADOX 模式大惊小怪。

WRT cmets:

  1. VBS Express 的程序记录表格和字段名称,我的策略复制表格(由于 WHERE 子句没有数据)到工作表
  2. ADO 魔法在未安装 MS Office 的计算机上运行正常

【讨论】:

  • 谢谢.. 我使用了这里提到的方法.. vbaexpress.com/kb/getarticle.php?kb_id=707 我在目录中循环查找 mdb 文件,然后使用上述过程查找表和列。这很容易..
  • 我使用 DAO.OpenDatabase 在我的 excel 模块中打开 access 数据库.. 所以这解决了我没有安装 ms access 的问题..
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 2018-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多