错误 2465 找不到您的表达式中引用的字段“|1”

error 2465 can't find field '|1' referred to in your expression

我创建了一个我想要的查询。然后我查看了 SQL View window in Access to copy/paste into VBA。我唯一改变的是 "WHERE" 部分包含一个 AutoNumber ID(此处引用为 num_PM,它是一个表单中的文本框)我已经看了一段时间但看不到我做错了什么。我现在得到一个

error 2465 can't find the field '|1' referred to in your expression.

Set rst_UnitEntryCounts = CurrentDb.OpenRecordset("SELECT tbl_UnitTypes.UnitTypes_WeeklyTextBoxUserEntryForm, " _
                                                    & "        tbl_UnitTypes.UnitTypes_CumalativeTextBoxUserEntryForm, " _
                                                    & "        tbl_PMEntry.PMEntry_Week_Ending, " _
                                                    & "        Sum(tbl_UnitEntry.UnitEntry_Unit_Count) AS SumOfUnitEntry_Unit_Count " _
                                                    & "FROM (tbl_UnitTypes " _
                                                    & "         INNER JOIN tbl_UnitEntry ON tbl_UnitTypes.UnitTypes_ID = tbl_UnitEntry.UnitEntry_UnitTypes_ID) " _
                                                    & "         INNER JOIN (tbl_PMHeader INNER JOIN tbl_PMEntry ON tbl_PMHeader.PMHeader_ID = tbl_PMEntry.PMEntry_PMHeader_ID) ON tbl_UnitEntry.UnitEntry_PMEntry_ID = tbl_PMEntry.PMEntry_PMHeader_ID " _
                                                    & "WHERE ((tbl_PMHeader.PMHeader_ID) = " & num_PM & " )" _
                                                    & "GROUP BY tbl_UnitTypes.UnitTypes_WeeklyTextBoxUserEntryForm, " _
                                                    & "          tbl_UnitTypes.UnitTypes_CumalativeTextBoxUserEntryForm, " _
                                                    & "          tbl_PMEntry.PMEntry_Week_Ending")

您的陈述只是缺少一个必需的 space 字符。

这是问题所在:

& "WHERE ((tbl_PMHeader.PMHeader_ID) = " & num_PM & " )" _
& "GROUP BY tbl_UnitTypes.UnitTypes_WeeklyTextBoxUserEntryForm, " _

)GROUP 没有引用任何东西...解决方案:

& "WHERE ((tbl_PMHeader.PMHeader_ID) = " & num_PM & ") " _
& "GROUP BY tbl_UnitTypes.UnitTypes_WeeklyTextBoxUserEntryForm, " _

这是假设您没有出现任何字段名称拼写错误。我注意到您有一个名为 UnitTypes_CumalativeTextBoxUserEntryForm 的字段,其中正确的拼写是 cumulative,但只要您始终如一,这应该不是问题。