Ms access 如何添加参数代码以将查询从access 2013导出到excel 2013
'下面是我拥有的当前代码,它将正确导出到excel工作簿和工作表中。唯一的问题是,我需要将导出的数据限制在一个月结束日期范围内,例如:2017年1月31日至2017年4月30日,以及工厂编号范围内,例如:4101感谢您的帮助,非常感谢。 公共功能清单导出_4100Ms access 如何添加参数代码以将查询从access 2013导出到excel 2013,ms-access,vba,Ms Access,Vba,'下面是我拥有的当前代码,它将正确导出到excel工作簿和工作表中。唯一的问题是,我需要将导出的数据限制在一个月结束日期范围内,例如:2017年1月31日至2017年4月30日,以及工厂编号范围内,例如:4101感谢您的帮助,非常感谢。 公共功能清单导出_4100 Dim appXL As Object Dim wb As Object Dim wks As Object Dim xlf As String Dim rs As DAO.Recordset Dim fld As Field Dim
Dim appXL As Object
Dim wb As Object
Dim wks As Object
Dim xlf As String
Dim rs As DAO.Recordset
Dim fld As Field
Dim intColCount As Integer
xlf = "Z:\COST ACCOUNTING INFO\Inventory Reports\MyFile.xlsx"
Set rs = CurrentDb.OpenRecordset("(QS)_Inventory")
Set appXL = CreateObject("Excel.Application")
Set wb = appXL.Workbooks.Open(xlf)
Set wks = wb.Sheets("Inventory Xport") 'Sheet name
If rs.EOF = True Then
MsgBox "No data", vbOKOnly
Exit Function
End If
With appXL
.Application.worksheets("Inventory Xport").SELECT
.Application.columns("A:AQ").SELECT
.Application.columns.Clear
End With
intColCount = 1
For Each fld In rs.Fields
wks.Cells(1, intColCount).Value = fld.Name
intColCount = intColCount + 1
Next fld
appXL.displayalerts = False
wks.Range("A2").CopyFromRecordset rs
appXL.Visible = True
With appXL
.Application.worksheets("Inventory Xport").SELECT
.Application.columns("A:AQ").SELECT
.Application.columns.AutoFit
.Application.Range("A2").SELECT
.Application.ActiveWindow.FreezePanes = True
End With
wb.Save
wb.Close
appXL.Quit
Set wb = Nothing
rs.Close
Set rs = Nothing
End Function
您可以使用:
Dim Date1 As Date
Dim Date2 As Date
Dim PlantNr As String
Dim Sql As String
Date1 = #1/31/2017#
Date2 = #4/30/2017#
PlantNr = "4101"
Sql = "Select * From [(QS)_Inventory] Where YourDateField Between #" & Format(Date1, "yyyy\/mm\/dd") & "# And #" & Format(Date2, "yyyy\/mm\/dd") & "# And [Plant Number] = '" & PlantNr & "'"
Set rs = CurrentDb.OpenRecordset(Sql)
我不知道OpenRecordset的参数是表还是查询?无论如何,有一种方法可以进行参数查询,以提示用户筛选日期或日期范围以及工厂编号等内容。我已经很久没有做过这些了,所以我有点生疏了,但是看看这个:可能是重复的