Access + VBA + SQL - 如何使用表中的条件将多个查询导出到一个 Excel 工作簿中,同时导出多个工作表

2023-12-08

我需要一些帮助才能将多个查询导出到一个 Excel 工作簿中,但是,多个工作表吗?使用 MS Access VBA 中的表中的条件

附件是供参考的数据库。

表名称:Tbl_Final(下面列出的列)

  • System
  • User ID
  • 用户类型
  • Status
  • 工作职位

根据表“Tbl_Final”(下面的 SQL 查询)中“系统”列中的唯一值,我需要创建单独的 excel 文件并将其导出到文件夹。 例子: SELECT TBL_FINAL.系统、TBL_FINAL.[用户 ID]、TBL_FINAL.[用户类型]、TBL_FINAL.状态、TBL_FINAL.[作业职位] 来自 TBL_FINAL WHERE (((TBL_FINAL.System)="OS/400"));

    SELECT TBL_FINAL.System, TBL_FINAL.[User ID], TBL_FINAL.[User Type], TBL_FINAL.Status, TBL_FINAL.[Job Position]
    FROM TBL_FINAL
    WHERE (((TBL_FINAL.System)="Tab"));

经过谷歌搜索后,我设法找到了符合标准的代码。但遇到一些障碍:(

请求一些帮助!

Option Compare Database

Private Sub Command1_Click()

    Dim strSQL As String
    Dim dbs As Database
    Dim qdf As QueryDef
    strQry = "REPORT_QUERY"

    Set dbs = CurrentDb
    Set qdf = dbs.CreateQueryDef(strQry)

    strSQL = "SELECT System, [User ID], [User Type], [Status] FROM TBL_FINAL WHERE System = 'OS/400'"
    qdf.SQL = strSQL
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel11, _
        strQry, "C:\Program Files\Export\GENERAL_EXPORT.xls", True, _
        "Sheet1"
    
    strSQL = "SELECT System, [User ID], [User Type], [Status] FROM TBL_FINAL WHERE System = 'MySys'"
    qdf.SQL = strSQL
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel11, _
        strQry, "C:\Program Files\Export\GENERAL_EXPORT.xls", True, _
        "Sheet2"
    
    DoCmd.DeleteObject acQuery, strQry

End Sub

以下 VBA 代码适用于我,创建一个新的 Excel 工作簿(.xlsx文件)包含多个工作表(mySheet1 and mySheet2):

Option Compare Database
Option Explicit

Sub ExportToXlsx()
    Dim cdb As DAO.Database, qdf As DAO.QueryDef
    Set cdb = CurrentDb

    Const xlsxPath = "C:\Users\Gord\Desktop\foo.xlsx"

    ' create .xlsx file if it doesn't already exist, and add the first worksheet
    Set qdf = cdb.CreateQueryDef("mySheet1", _
            "SELECT * FROM Clients WHERE ID Between 1 And 5")
    Set qdf = Nothing
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "mySheet1", xlsxPath, True
    DoCmd.DeleteObject acQuery, "mySheet1"

    ' file exists now, so this will add a second worksheet to the file
    Set qdf = cdb.CreateQueryDef("mySheet2", _
            "SELECT * FROM Clients WHERE ID Between 6 And 10")
    Set qdf = Nothing
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "mySheet2", xlsxPath, True
    DoCmd.DeleteObject acQuery, "mySheet2"

    Set cdb = Nothing
End Sub

请注意,工作表的名称取自要导出的查询(或表)的名称。如果 Excel 文件中不存在具有该名称的工作表,则会添加该工作表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Access + VBA + SQL - 如何使用表中的条件将多个查询导出到一个 Excel 工作簿中,同时导出多个工作表 的相关文章

  • 如何在缩进层次结构中找到父级?

    我目前有一张 Excel 工作表 其中包含缩进的项目层次结构 如下所示 每个项目都缩进 每个缩进四个空格 以显示它如何适应整体层次结构 我已经能够创建一个 级别 列 将缩进级别转换为数字 Item Level Parent P1 1 N A
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 使用 LAMBDA 在 Excel 中生成所有排列

    这是一个经常被问到和回答的问题 如何在 Excel 中生成所有排列 2011 https stackoverflow com questions 5724373 permutations in excel 2016 https stacko
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • 删除 VBA 按钮集合

    我正在使用以下脚本在 Excel 中生成按钮 范围正是我希望放置它的位置 Sub CreateAddButton rng As Range Dim btn As Button With Worksheets User Set btn But
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 内置函数将每个单词的第一个字母大写

    如果 SQL Server 中已存在此类函数 我不想为此创建自定义函数 输入字符串 This is my string to convert预期输出 This Is My String To Convert SET ANSI NULLS O
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • 解析带下划线的 SQL Server 数字文字

    我想知道它为什么有效以及为什么它不返回错误 SELECT 2015 11 Result 11 2015 第二种情况 SELECT 2 1 a a 2 1 检查元数据 SELECT name system type name FROM sys
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 如何根据单元格的值更改单元格的格式和文本。 (条件格式)

    您好 我想根据单元格的值更改单元格的填充颜色和文本 假设我有以下价值观 我想让它像这样 对我来说 填充颜色很简单 因为我只需执行条件格式即可 然而 文字却让事情变得困难 如何将单元格值更改为文本 如上面的示例 谢谢 为颜色创建条件格式规则
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • 在 Excel 中查找结果将行复制到另一张工作表

    我需要一些帮助将数据从一个 Excel 工作表复制到另一个 例如 样本数据 A B C 1 aaa bbb ddd 2 bbb ccc eee 2 bbb ccc eee 3 ccc fff rrr 4 ccc fff ttt 5 ddd
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作
  • 是否可以引用同一个表中的不同列?

    如果博客有一个 类别 表 如下所示 CREATE TABLE categories id INTEGER PRIMARY KEY AUTO INCREMENT parent id INTEGER NOT NULL name VARCHAR

随机推荐

  • PHP 的字母等效项 is_numeric

    我正在寻找一个与 is numeric 按字母顺序等效的函数 如果字符串中只有字母 则返回 true 否则返回 false PHP 中是否存在内置函数 你要ctype alpha
  • 我的代码中的未知修饰符[重复]

    这个问题在这里已经有答案了 输出错误 未知修饰符 p 你的字符串包含一团糟 这需要转义为 使用时 作为正则表达式分隔符 代替 作为正则表达式分隔符 使用不会出现在字符串中的内容 例如 例如 你must选择有保证的定界字符not出现在 Src
  • jQuery 停止 fadeTo 效果

    我想要的是一种鼠标轨迹效果 当你将鼠标悬停在 div 上或向下时 但是 如果您将鼠标悬停过快几次然后停止 效果就会自行重复 我该如何解决这个问题 我想我需要某种出队的东西 比如动画选项 但对于 fadeTo 功能 有任何想法吗 test m
  • 根据条件连接data.table中的列名[重复]

    这个问题在这里已经有答案了 这就是我的 data table 的样子 最右边的一列PASTE是我想要的专栏 library data table dt lt fread A B C PASTE TRUE FALSE TRUE A C TRU
  • DigitalMicrograph 脚本对象是否可以收到图像 ROI 变化的通知?

    DigitalMicrograph 脚本文档提到了各种类型的 Listener 对象 这些对象可用于向脚本对象通知各种类型的事件 特别是 ImageDisplay 对象对按键侦听器具有显式支持 以便当击键事件针对特定图像显示时可以通知脚本对
  • LC-3 组装两个数字相减

    我对这个问题有疑问 因为我是 LC 3 编程的新手 编写 LC 3 代码 将 R0 中的值减去 R1 中的值 并将结果放入 R5 中 即编写 R5 R0 R1 的汇编代码 假设R1 10 R0为12 根据你的问题 我们可以假设 12 和 1
  • 301重定向以仅删除主页上的查询字符串

    我不知道 htaccess重定向规则 如果用户输入http example com abc 123 or https example com who 123 or https example com xyz 123那么它应该重定向到http
  • C++ 中的前递增比后递增更快 - 正确吗?如果是,为什么呢? [复制]

    这个问题在这里已经有答案了 我听说 C 中的前增量 i 比后增量 i 快一点 真的吗 这又是什么原因呢 后增量通常涉及保留前一个值的副本并添加一些额外的代码 预增量只是完成它的工作并摆脱困境 我通常会预增量 除非语义会改变并且后增量实际上是
  • 现代 Fortran:从后代调用祖先过程

    我开始使用 Modern Fortran 的 OO 功能 并且已经熟悉其他语言的 OO 功能 在 Delphi Object Pascal 中 通常在其重写的后代过程中调用过程的祖先版本 甚至有一个语言语句 继承 允许这样做 我找不到等效的
  • 为什么 if [ !$(grep -q) ] 不起作用而 if grep -q 起作用?

    我无法让 grep 在 if 语句中正常工作 在下面的代码段中 if check 始终为 true 即未找到该单词 并且程序会打印 NOT FOUND 即使该单词已经在 memory 中 for i 0 i lt aspellwords i
  • IIS 6.0 服务器太忙 HTTP 503 Connection_Dropped DefaultAppPool

    我们有一个站点 运行在带有 2 台 64 位计算机的 Windows 2003 集群上 该网站需要能够应对超过 20 000 个并发用户 该站点所做的事情之一是允许下载 2MB 文件 缓存在内存中 我们的 CPU 和内存使用率较低 我们还有
  • C++ Boost 1.66 使用 Beast http 请求解析器解析字符串

    我没有在我的项目中使用beast http服务器 但我正在寻找一种解决方案来解析程序中std string形式的http请求 是否可以在此使用boost beast http parser hpp如果是的话 如果您在代码中给出一个示例 那就
  • 初始化后无法更新 OxyPlot 图表

    我在 XAML 中定义了一个 OxyPlot 图表 如下所示
  • Rails 4 + gmaps4rails 2.0.3 中未定义 Gmaps

    Rails 4 0 0 中未定义 Gmaps4rails 谷歌铁路地图 我正在关注这个教程 http rubydoc info gems gmaps4rails 2 0 4 frames 1 Gemfile gem gmaps4rails
  • 如何在 Angular 2 模板打字稿中显示 json 对象参数

    我正在尝试在 template 中显示 Object 在控制台中用户 email正在工作 但在模板中它不起作用 是否必须定义 Users 对象的类型 如何正确处理响应 在控制台中 数据显示为用户对象 我从中获取第一个对象作为数据 0 imp
  • 为什么它与 ~~any() 的作用不同?

    首先让我向您展示我的表格 INSERT INTO my table name brand source VALUES Abc Abc Orig Auchan Auchan Orig Auchan Auchan Added dj auchan
  • 动态更新 gtk.VBox

    我经常使用这个网站来解决我在 Python 编程时遇到的小问题 这次 不知怎的 我找不到适合我情况的解决方案 所以 这是我的问题 我想动态添加条目到 gtk VBox 小部件 问题是它没有按照我想要的方式工作 我只有一个按钮 其操作是将附加
  • 如何在 Xamarin Forms 编辑器中设置占位符和占位符颜色

    如何设置占位符文本 and 占位符颜色 in Editor in Xamarin 表单 它没有默认的功能或属性 如何自定义它 参考文档 Xamarin 表单编辑器 为此 您将需要一个自定义渲染器 这是 Android 自定义渲染器 您将需要
  • res.write 无法正常工作。它显示包含 HTML 标签的输出

    我正在使用 API 和 Express 制作一个简单的 Web 应用程序 但我得到的输出与预期不同 我的输出包含文本 包括HTML tags 这是我的代码 const express require express const https
  • Access + VBA + SQL - 如何使用表中的条件将多个查询导出到一个 Excel 工作簿中,同时导出多个工作表

    我需要一些帮助才能将多个查询导出到一个 Excel 工作簿中 但是 多个工作表吗 使用 MS Access VBA 中的表中的条件 附件是供参考的数据库 表名称 Tbl Final 下面列出的列 System User ID 用户类型 St