我正在编写一个脚本,该脚本根据用户输入过滤查询,然后使用该查询中的数据创建新表qryMyExportedData
。从那里,数据将导出到ExportedData.xlsx
。当我尝试运行代码时,出现以下错误:
Run-time error '2498': An expression you entered is the wrong data type for one of the arguments.
我的代码:
Private Sub Query_Click()
Dim strExport as String
strExport = "SELECT * FROM qryCostDepLosses WHERE [Maintenance Type] = '" & Me.MainType & "' AND [Date] = #" & Me.Date & "#"
Set qdfNew = CurrentDb.CreateQueryDef("myExportQueryDef", strExport)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "myExportQueryDef", CurrentProject.Path & "\ExportedData.xlsx", "True"
CurrentDb.QueryDefs.Delete qdfNew.Name 'cleanup
End Sub
我将错误的范围缩小了DoCmd.TransferSpreadsheet
。我相信,strExport看起来应该是应该的。数据也将导出到myExportQueryDef。
您正在尝试将布尔值作为字符串发送。因此,代码应如下所示:
Private Sub Query_Click()
Dim strExport as String
strExport = "SELECT * FROM qryCostDepLosses WHERE [Maintenance Type] = '" & Me.MainType & "' AND [Date] = #" & Me.Date & "#"
Set qdfNew = CurrentDb.CreateQueryDef("myExportQueryDef", strExport)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "myExportQueryDef", CurrentProject.Path & "\ExportedData.xlsx", True
CurrentDb.QueryDefs.Delete qdfNew.Name 'cleanup
End Sub
基本上只是删除周围的引号True
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句