当前位置: 首页 > 知识库问答 >
问题:

Access SQL在尝试导出到excel时输入参数值

胡云瀚
2023-03-14

我正在尝试运行此SQL语句,然后将结果导出到excel电子表格。我在互联网上搜索了一下,发现了这个,似乎对其他用户也有用。

它运行,但要求我“输入参数值”链接到代码第4行的“selecteduser”,消息框显示在代码开始处:DoCmd。转让电子表格。如果单击“确定”,将创建excel工作表,但其中除了数据库中表格中选定列的标题外,没有任何内容。如果我在文本框中输入有效数据并按ok,则excel电子表格将创建并显示正确的数据。

我知道组合框中的选定数据已经存储,因为如果我执行消息框,它会显示组合框中的选定数据。

有人有什么想法吗?很明显,数据没有在某个地方传递,但我看不到在哪里。

Private Sub Command12_Click()
Dim strSQL As String
Dim strQry As String
Dim selecteduser As String
Dim db As DAO.Database
Dim Qdf As QueryDef

selecteduser = Me.Combo6.Column(0)

strSQL = "SELECT tblPra.praNo, tblFolder.folder, tblFolder.fullTitle FROM tblPra INNER JOIN (tblFolder INNER JOIN tblRelationship ON tblFolder.folderID = tblRelationship.folderID) ON tblPra.praID = tblRelationship.praID WHERE (((tblPra.praNo)=selecteduser));"
strQry = "tempuser"

Set db = CurrentDb
Set Qdf = db.CreateQueryDef(strQry, strSQL)

On Error Resume Next
DoCmd.DeleteObject acQuery, "strQry"

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, _
strQry, "C:\Users\prc93\Desktop\test.xls", True

DoCmd.DeleteObject acQuery, strQry

End Sub

共有1个答案

裴永年
2023-03-14

查询中的selecteduser必须位于引号之外。因为它是一个字符串,所以需要用单引号括起来,比如'selecteduser'。现在,如果您在msgbox中选择查询,您应该会看到selecteduser等于列(0)。您确定selecteduser必须是字符串而不是数字,例如long

Private Sub Command12_Click()
Dim strSQL As String
Dim strQry As String
Dim selecteduser As String
Dim db As DAO.Database
Dim Qdf As QueryDef

selecteduser = Me.Combo6.Column(0)

strSQL = "SELECT tblPra.praNo, tblFolder.folder, tblFolder.fullTitle FROM " &_ 
         "tblPra INNER JOIN (tblFolder INNER JOIN tblRelationship ON " &_
         "tblFolder.folderID = tblRelationship.folderID) ON " &_
         "tblPra.praID = tblRelationship.praID " &_
         "WHERE (((tblPra.praNo)='" & selecteduser & "'));"
strQry = "tempuser"

Set db = CurrentDb
Set Qdf = db.CreateQueryDef(strQry, strSQL)

On Error Resume Next
DoCmd.DeleteObject acQuery, "strQry"

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, _
strQry, "C:\Users\prc93\Desktop\test.xls", True

DoCmd.DeleteObject acQuery, strQry

End Sub
 类似资料:
  • 我正试图将数据从Excel导入到SQL Server表中,但遇到了这个错误。你能建议如何避免这些吗?

  • 启动层java初始化期间发生错误。朗,模块。FindException:无法识别模块格式:C:\Users\pinto\Downloads\fontawesome-free-6.1.1-desktop。邮政编码 这是我的导入和悬停错误。

  • 我正在尝试读取文本文件,然后对其应用一些数据验证规则。添加规则后,我将数据写回Excel文件。 但是当尝试将其写回excel文件时,我收到了这个错误: 线程“主”org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException:保存失败:保存包时发生错误:部分 /docProps/app.xml无法保存在流中,编组器org.apache.p

  • 我试图上传一个图像到内存使用multer,然后处理它与夏普和保存到磁盘。当我尝试在我的中间件中做多个module.exports时。 错误是: TypeError FileUpload.Single不是函数 到目前为止的路线是: 当我刚刚有下面的路由之前,尝试添加图像处理,我没有得到一个错误;

  • 问题内容: 我想通过单击表单中的按钮将查询结果导出到excel文件。 为此,我使用了这段代码,并且效果很好: 但是我的查询使用了两个参数 sdate 和 edate ,我不想访问询问我这些值,但是我希望用户在带有适当文本框的表单中输入它们。 所以我在DoCMD.OutputTo之前的代码中添加了此位 但不幸的是,它不起作用。在导出之前如何将参数放入查询中? 问题答案: 如果您想保持原始参数查询的完

  • 我正在尝试为我工作的网站自动化应用程序。我正在使用selenium Web驱动程序和node.js。我可以浏览不同的页面,但我无法在输入字段中获得任何文本。有人能帮我一下吗?请看下面我的代码。