访问查询获取错误3141

时间:2014-10-07 18:46:44

标签: sql ms-access-2003

我在Access 2003中工作

我正在尝试创建一个查询,该查询将创建一个已经采用excel表格所需格式的表格。我认为这样可以节省我的时间,而不是创建表格,然后编写代码在巨型循环中插入值,偏移单元格,插入更多等等。这样我就按照我需要的方式创建表,然后将其转储到excel。

我得到的问题是以下查询得到以下错误:

运行时错误'3141'; SELECT语句包含拼写错误或缺失的保留字或参数名称,或者标点符号不正确。

DoCmd.RunSQL ("SELECT [Main Employee Table].SSN, [Main Employee Table].[LastName] AS [Last Name], [Main Employee Table].[FirstName] AS [First Name], " _
        & "[Main Employee Table].[MiddleName] AS [Middle Intial], " _
        & "[Address Table].[Address] AS [Address Line 1], Null AS [Address Line 2] [City] AS Ciity, " _
        & "UCase([State]) AS Sstate, Format([ZipCode],""00000"") AS [Zip Code], Null AS TaxState, " _
        & """20141201"" AS [Chk Request Date], [Main Employee Table].DOB AS [Date of Birth], " _
        & "IIf(([Status]='Beneficiary' Or [Status]='Beneficiary/late'),""05"",IIf([Status]='QDRO/TV',""01"",""00"")) AS RelationshipCode, " _
        & "Null AS [Lump Sum Benefit L], tblLSWindow.LSRollOver AS [Rollover Benefit R], " _
        & "Null AS [Partial Benefit P], Null AS [Hardship Benefit H], Null AS [Min Req Distr Benefit M], Null AS [Nontaxable Benefit], " _
        & "tblLSWindow.LSRollOver AS [Total], ""R"" AS [Distribution Suffix], Null AS [Marital Status], " _
        & """1"" AS [Federal Withholding Switch], ""1"" AS [State Withholding Switch], Null AS [Federal Exemp Number], ""0"" AS [Federal Additional Amount], " _
        & "Null AS [State Exemp Number], ""0"" AS [State Additional Amount], ""G"" AS [Distribution Code], " _
        & "[RollOverInstitution] AS [Rollover Institution Name Address Line 1], [FirstName] & "" "" & [Last Name] AS [FBO Address Line 2], " _
        & "[Address] AS [Rollover Institution Address Line 3], [City] AS [Rollover Institution City], [State] AS [Rollover Institution State], " _
        & "[ZipCode] AS [Rollover Institution Zip Code] " _
        & "INTO AutoCashLoadReport " _
        & "FROM ([Main Employee Table] LEFT JOIN tblLSWindow " _
        & "ON [Main Employee Table].SSN = tblLSWindow.SSN) " _
        & "LEFT JOIN [Address Table] ON [Main Employee Table].SSN = [Address Table].SSN " _
        & "WHERE ((tblLSWindow.LSRollOver>0) AND ([tblLSWindow].[IGOChk]=-1))")

现在我意识到使用带有空格的表格是非常糟糕的形式,但这是一个非常古老的数据库,我根本不想进去搞乱它。

我无法弄清楚这段代码有什么问题。我一直在寻找丢失的逗号,或者我忘了关闭的括号等,但我没有找到任何运气。我最初有一些常量项目(如“1”或“G”之类的项目),周围有单引号,但我把它们改为两个双引号,认为这可能是问题。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您错过了以下一行中的,

Null AS [Address Line 2] [City] AS Ciity
                        <--Here