【发布时间】:2015-07-19 01:39:28
【问题描述】:
我有一个从 Access 中的查询导出表到 Excel 的子程序。在 Access 中,我有一个运行查询并允许用户根据需要更新查询的表单。如果我使用设置的参数(不使用表单)运行子程序,例如,“奥地利”子程序工作正常。但是当我使用表格并在“Austria”中写入时,我会收到区域消息:
3601 参数太少。预计 1。
问题似乎与 HAVING ((([Game Categories].Lottery)=[Forms]![TransferToExcel]![listLotteryName]) (如果替换为奥地利,子工程很好)
Sub Mysub()
Dim objexcel As Excel.Application
Dim wbexcel As Excel.Workbook
Dim wbExists As Boolean
Dim qdfQUERY2014sales As QueryDef
Dim rsQUERY2014sales As Recordset
Set qdfQUERY2014sales = CurrentDb.QueryDefs("QUERY2014sales")
Set rsQUERY2014sales = qdfQUERY2014sales.OpenRecordset()
Set objexcel = CreateObject("excel.Application")
objexcel.Visible = True
On Error GoTo Openwb
wbExists = False
Set wbexcel = objexcel.Workbooks.Open("C:\Users\MORTBANKER\Documents\test.xlsm")
wbExists = True
Openwb:
On Error GoTo 0
If Not wbExists Then
Set wbexcel = objexcel.Workbooks.Add()
End If
CopyToWorkbook wbexcel, rsQUERY2014sales
'need to save the workbook, make it visible or something.
End Sub
Private Sub CopyToWorkbook(objWorkbook As Excel.Workbook, rsQRY As Recordset)
Dim newWorksheet As Excel.Worksheet
Set newWorksheet = objWorkbook.Worksheets.Add()
With newWorksheet
.Range("A1").CopyFromRecordset rsQRY '<-magic happens here!
End With
'Copy stuff to the worksheet here'
End Sub
任何人有什么想法我可以解决这个问题吗?
【问题讨论】: