我有这个查询工作正常。 当我打开创建查询并在窗口中复制/粘贴SQL时,它运行正常,我可以编辑表单编号并保存查询。 关闭查询然后在设计视图中再次打开它后,括号全部消失,当我尝试更改任何内容或保存它时,我得到Join Expression Not Supported。 查询无论如何运行,结果都是正确的。 我该怎么做才能防止查询被改变? 为什么删除括号?

SELECT DISTINCT 
A01.ID,
A01.Symbol,
A01.Number,
A01.Module,
A02.Form as FormHE3, 
MAX (A02.Sequence) as FormSeq
INTO [CodesAndFormsResults]
FROM 
(01_PreviousTable A01
left outer join tbl_PolForms A02 ON (A02.ID = A01.ID 
and A02.Form = 'HE3'))
GROUP BY 
A02.Form, 
A01.ID, 
A01.Symbol,
A01.Number, 
A01.Module
ORDER BY
A01.Number,A01.Symbol,A01.Module;

===============>>#1 票数:2

  1. SELECT DISTINCTGROUP BY查询中是多余的; 摆脱DISTINCT
  2. 当您专注于构建一个简单的SELECT查询时,丢弃INTO [CodesAndFormsResults] ,该查询返回您想要的内容以及哪个Access的查询设计器不会破坏。 您可以稍后再添加INTO [CodesAndFormsResults] ,但现在可以将自己限制为最简单的查询。
  3. Form = 'HE3'从join ON子句移动到基于tbl_PolForms的子查询中的WHERE子句。
SELECT
    A01.ID,
    A01.Symbol,
    A01.Number,
    A01.Module,
    A02.Form AS FormHE3, 
    MAX(A02.Sequence) AS FormSeq
FROM 
    [01_PreviousTable] AS A01
    LEFT JOIN 
    (
        SELECT t.ID, t.Sequence, t.Form
        FROM tbl_PolForms AS t
        WHERE t.Form = 'HE3'
    ) AS A02
    ON A01.ID = A02.ID 
GROUP BY 
    A02.Form, 
    A01.ID, 
    A01.Symbol,
    A01.Number, 
    A01.Module
ORDER BY
    A01.Number,
    A01.Symbol,
    A01.Module;

===============>>#2 票数:1

括号被删除,因为它们是不必要的。 MS Access始终尝试在保存之前简化查询。 有时您可以欺骗MS Access而不管它,但它通常会使您的查询更加复杂和脆弱。

查询解析器正在抱怨(“不支持加入语法”),因为它无法直观地显示查询。 指定条件连接时总是会发生这种情况。 真的没有问题。 您只需通过设计器将查询编辑为SQL而不是。

  ask by Tracy translate from so

未解决问题?本站智能推荐:

1回复

无法在从SQL View获取数据的MS Access 2007中编辑查询

我在MS Access 2007中有一个查询,它正在从SQL视图获取数据。随后,我无法在该查询中编辑数据表,也无法编辑从该查询中获取数据的子表单。 请帮助我编辑该查询。
2回复

删除SQL查询ms访问中的重复项

A)假设一张桌子。 我想要执行DELETE功能。 这是在ms access 2003 sql查询中完成的。 注意有许多条目。 在几十万到几百万的范围内。希望如果有一个代码可以很好地处理大型数据集。 只有3种情绪。 当一天中有一些情绪时,我们只想保留最重要的情绪。 所以让我们有
2回复

MS Access for SQL内部联接中带括号的问题

在MS Access中尝试了以下SQL,但似乎无法正常运行,有人有更好的主意吗? 每当我运行这个我只会得到错误: FROM子句中的语法错误
4回复

Ms访问中的SQL查询

任何人都可以告诉我这个查询有什么问题,它说语法错误。但语法对我来说很好。 错误消息是:查询表达式中的语法错误(缺少运算符)'(Errortypereport.Part Number)=(POSBLD.PartNumber)和(Errortypereport.Change Level)=(
6回复

MS Access / MS SQL查询

我正在尝试将两个查询合并为一个,这是我想做的。 从称为FDetail的表中选择所有内容(*) 交易日期在2007年1月1日至2015年1月1日之间 和在哪里ComNum = 1090084785010 AND获取完整的记录,其中RecID(RecID是列的名称)
1回复

有条件地从ms访问查询(SQL)中删除行

我想从ms访问的报告中删除行(约10000个)。 我正在比较表中的两组两列。 当我运行查询时,我希望删除列1和3匹配以及列2和4匹配的行。 我尝试运行左联接查询并尝试使用vba代码,但无法使其正常工作。 这是数据 我尝试使用VBA 我也尝试过使用查询,但不会删除它
1回复

何时在MS Access SQL中打开和关闭方括号

我想了解在代表MS Access查询中的联接时何时打开和关闭方括号,因为我正在使用C ++开发用于MS Access查询的查询生成器,以便可以应用相同的代码来生成类似的查询。 编辑: 根据@LeeMac,当您修改我之前对此提出的查询时,按照您的解释 我收到错误消息,不支持使
1回复

SQL到MS Access SQL查询

您好SQL / MS Access社区! 我有个问题! 我在SQL中有一个查询,可以查询每个组的最高记录,而且效果很好! 但是,我需要将其作为Microsoft Access中的查询。 有没有人可以帮助我进行翻译? 我一点都不了解编码(我可以将其分开理解,但不幸的是我不能编写它)。
1回复

SQL查询到MS Access查询

我有一段SQL代码可以运行以显示特定工作负载的使用期限。 由于某些系统更改,我很快将无法通过SQL访问此数据库,因此我并没有真正遵循它。 请有人可以帮助我将其转换为MS Access查询,我在下面提供了SQL和结果, 的SQL 结果 163邮箱名称39 16 9 8
2回复

MS ACCESS SQL中追加查询中的问题

我正在使用MS Access。 我已经写了这个查询... 但是它没有在我的表格Survey1中追加数据...