简单的点击、查询和导出——没那么简单

Simple Click, Query, and Export - not so simple

任何人都可以帮助我设置一个 Access 2007 VBA 查询,让视障人士可以在表单上输入日期 (Pdate) 并导致查询我的 table [Donation_Data] 查找所有 [Pickup Date] = Pdate 的记录,然后自动将记录导出为 EXCEL 文件。

这是我目前所拥有的,但停在

qd.SQL = "SELECT * FROM " & [Donation_Data] & " WHERE [Pickup Date] = Pdate"

Option Compare Database
Option Explicit

Private Sub Command1_Click()

Dim db As DAO.Database
Set db = CurrentDb   ' use current database

'On Error GoTo Pickup_OnClick_Err

Dim Pdate As Date

Pdate = InputBox("Please Enter the Desired Pickup Date", "")


'develop a query of all Donation_Data records where Pickup Date in Donation_Data table = Pdate

Dim qd As DAO.QueryDef

Set qd = CurrentDb.CreateQueryDef("DonationDataQuery")

qd.SQL = "SELECT * FROM " & [Donation_Data] & " WHERE [Pickup Date] = Pdate"

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "DonationDataQuery", "C:\Users\dads\Downloads\Donation Data.xlsx", True

Debug.Print qd.SQL

MsgBox "transfered"


End Sub

根据下面的评论建议,代码现在如下所示。查询开发很漂亮,但是没有数据传输

Dim db As DAO.Database
Set db = CurrentDb   ' use current database

'On Error GoTo Pickup_OnClick_Err

Dim Pdate As Date

'Pdate = InputBox("Please Enter the Desired Pickup Date", "")


'develop a query of all Donation_Data records where Pickup Date in Donation_Data table = Pdate

Dim qd As DAO.QueryDef

Set qd = CurrentDb.CreateQueryDef("DonationDataQuery")

qd.SQL = "SELECT * FROM [Donation_Data] WHERE [Donation_Data].[Pickup Date] = Pdate"

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "DonationDataQuery", "C:\Users\dads\Downloads\Donation Data.xlsm", True

Debug.Print qd.SQL

MsgBox "transfered"


End Sub

试试这个,将有问题的行替换为 (UNTESTED):

qd.SQL = "SELECT * FROM [Donation_Data] WHERE [Donation_Data].[Pickup Date] = Pdate"