【问题标题】:Microsoft Access Run time error '3075' in query expression查询表达式中的 Microsoft Access 运行时错误“3075”
【发布时间】:2016-03-31 22:34:37
【问题描述】:

拜托,我需要帮助,这个错误是在我尝试导出时发生的。

sql = sql & " 按 ContactID、TitleID、ContactName、SuffixID、公司、JobTitle、Email1、Email2、Email3、WebPageAddress、IMAddress 分组" 如果 Me.chkExportPhone = True 那么 sql = sql & " , PhoneNumber, PhoneNumberType " 万一 如果 Me.chkExportAddress = True 那么 ' sql = sql & " , AddressLine1, AddressLine2, City, State, Zip, AddressType " sql = sql & " , AddressLine1 作为 PostalAddress, AddressLine2 作为 PostalSuburb,AddressLine3 作为 StreetAddress, City 作为 Suburb, State, Zip 作为 PostalCode, AddressType " 结束如果

sql = sql & " , Classification, ClassificationCopy,ReferenceNumber, InvoiceComments,AccountComments,Status,LastContactDate,Notes "

将 qryDef 调暗为 QueryDef 设置 qryDef = CurrentDb.QueryDefs("qryContactExport") qryDef.sql = sql 设置 qryDef = 无 'DoCmd.TransferSpreadsheet acExport、acSpreadsheetTypeExcel9、“qryContactExport”、“C:\Temp\Temp.xls” DoCmd.OutputTo acOutputQuery, "qryContactExport", acFormatXLS, Application.CurrentProject.Path & "\Temp.xls", True 结束子

Visual basic 说错误是这一行 qryDef.sql = sql。

非常感谢!

【问题讨论】:

  • qryDef.sql = sql 行之前的 sql 变量中有什么值?我认为该值会告诉您很多有关问题所在的信息。您可以通过调试代码和检查变量来获取值。另外,欢迎使用 Stackoverflow - 编辑您的问题以修复格式,因为现在几乎无法阅读。
  • 感谢您的回答,这是值 If Me.chkExportAddress = True Then ' sql = sql & " , AddressLine1, AddressLine2, City, State, Zip, AddressType " sql = sql & " , AddressLine1作为 PostalAddress,AddressLine2 作为 PostalSuburb,AddressLine3 作为 StreetAddress,City 作为 Suburb,State,Zip 作为 PostalCode,AddressType " End If sql = sql & " ,Classification, ClassificationCopy,ReferenceNumber, InvoiceComments,AccountComments,Status,LastContactDate,Notes "
  • 错误表示查询表达式“AddressLine1 as PostalAddress”中的语法错误(缺少运算符)
  • 啊,我好像看到了什么。让我添加作为答案,以便更容易格式化。

标签: sql database export


【解决方案1】:

好的,我认为这就是问题所在(仅使用这个小 sn-p 很难说清楚。)

将标记的单引号下移一行:

sql = sql & " Group By ContactID, TitleID, ContactName, SuffixID, Company, JobTitle, Email1, Email2, Email3, WebPageAddress, IMAddress"
If Me.chkExportPhone = True Then
    sql = sql & " , PhoneNumber, PhoneNumberType "
End If
If Me.chkExportAddress = True Then
**'**        sql = sql & " , AddressLine1, AddressLine2, City, State, Zip, AddressType "
     sql = sql & " , AddressLine1 as PostalAddress, AddressLine2 as PostalSuburb,AddressLine3 as StreetAddress, City as Suburb, State, Zip as PostalCode, AddressType "
End If

sql = sql & " , Classification, ClassificationCopy,ReferenceNumber, InvoiceComments,AccountComments,Status,LastContactDate,Notes "

sql = sql & " Group By ContactID, TitleID, ContactName, SuffixID, Company, JobTitle, Email1, Email2, Email3, WebPageAddress, IMAddress"
If Me.chkExportPhone = True Then
    sql = sql & " , PhoneNumber, PhoneNumberType "
End If
If Me.chkExportAddress = True Then
        sql = sql & " , AddressLine1, AddressLine2, City, State, Zip, AddressType "
     ' sql = sql & " , AddressLine1 as PostalAddress, AddressLine2 as PostalSuburb,AddressLine3 as StreetAddress, City as Suburb, State, Zip as PostalCode, AddressType "
End If

sql = sql & " , Classification, ClassificationCopy,ReferenceNumber, InvoiceComments,AccountComments,Status,LastContactDate,Notes "

这会找出不正确的行并用一个好的行替换它。 GROUP BY 语句中的 AS 关键字导致了问题。

【讨论】:

  • 谢谢!但请告诉我这个错误。运行时“3122”您尝试执行的查询不包括指定表达式“StreetAddress”作为聚合函数的一部分。 visual basic 向我显示此行,例如错误 DoCmd.OutputTo acOutputQuery, "qryContactExport", acFormatXLS, Application.CurrentProject.Path & "\Temp.xls", True
  • 现在完美了,非常感谢,我只是在 sql = sql & " , AddressLine1, AddressLine2, City, State, Zip, AddressType " 中添加了 AddressLine3。非常感谢!!!
【解决方案2】:
sql = sql & " 按 ContactID、TitleID、ContactName、SuffixID、公司、JobTitle、Email1、Email2、Email3、WebPageAddress、IMAddress 分组" 如果 Me.chkExportPhone = True 那么 sql = sql & " , PhoneNumber, PhoneNumberType " 万一 如果 Me.chkExportAddress = True 那么 ' sql = sql & " , AddressLine1, AddressLine2, City, State, Zip, AddressType " sql = sql & " , AddressLine1 作为 PostalAddress, AddressLine2 作为 PostalSuburb,AddressLine3 作为 StreetAddress, City 作为 Suburb, State, Zip 作为 PostalCode, AddressType " 万一 sql = sql & " , 分类, ClassificationCopy,ReferenceNumber, InvoiceComments,AccountComments,Status,LastContactDate,Notes " 将 qryDef 调暗为 QueryDef 设置 qryDef = CurrentDb.QueryDefs("qryContactExport") qryDef.sql = sql 设置 qryDef = 无 'DoCmd.TransferSpreadsheet acExport、acSpreadsheetTypeExcel9、“qryContactExport”、“C:\Temp\Temp.xls” DoCmd.OutputTo acOutputQuery, "qryContactExport", acFormatXLS, Application.CurrentProject.Path & "\Temp.xls", True 结束子

【讨论】:

    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多