只需要从访问数据库中的查询中提取/导出 2 列到 excel

Posted

技术标签:

【中文标题】只需要从访问数据库中的查询中提取/导出 2 列到 excel【英文标题】:Need only 2 columns to be pulled/export from query in access data base to excel 【发布时间】:2020-09-01 15:18:11 【问题描述】:

我有一个宏将查询从 Access 数据库导出到 excel。但是,我需要宏仅将 2 列(前 2 列)导出到 excel,我无法弄清楚请帮忙。下面是数据库截图和代码。

I need the first 2 columns i.e. "County" and "Lisa Madigan" to be exported in an excel file

代码:-

Option Compare Database
Option Explicit

Public Sub ExportToExcel()

Dim xl As Excel.Application
Dim wbtarget As Workbook

Dim qdAGC As QueryDef
Dim rsAGC As Recordset

'Set up reference to the query to export

Set qdAGC = CurrentDb.QueryDefs("qdAGC")

'Debug.Print qdAGC.SQL

'Set up the parameter
'Execute the query

Set rsAGC = qdAGC.OpenRecordset()

'programetically reference exel
Set xl = CreateObject("Excel.Application")
'set ref to the export workbook

Set wbtarget = xl.Workbooks.Open("Path")

'Clear excel sheet
wbtarget.Worksheets("Sheet1").Cells.ClearContents

'use paste from recordset to put in excel sheet
wbtarget.Worksheets("Sheet1").Cells(1, 1).CopyFromRecordset rsAGC

'save workbook
wbtarget.Save

wbtarget.Close

Set wbtarget = Nothing
Set xl = Nothing

Set qdAGC = Nothing



End Sub

【问题讨论】:

【参考方案1】:

这应该超级简单

打开这个查询:qdAGC

记下查询中前两列的名称。

然后把你的代码改成这个(显然改掉名字):

     Set qdAGC = CurrentDb.Openrecordset("SELECT ColumnOne, ColumnTwo FROM qdAGC")

还有另一种方法可以做同样的事情。签出:

     DoCmd.TransferSpreadsheet

【讨论】:

以上是关于只需要从访问数据库中的查询中提取/导出 2 列到 excel的主要内容,如果未能解决你的问题,请参考以下文章

如何从 300GB 文件中提取一列到另一个文件

PDO 从表中提取一列到一维数组中

如何从访问将 2 个查询导出到 Excel 中的单个工作表

从访问中读取多值列到c#

shell中的cut和paste函数,可以从多个文本中提取特定的列

从 VBScript 中的访问查询中获取值