我在SO上发现了类似的问题,但解决方案表示删除了一组额外的括号。我这样做了,但它给了我一个新的错误 - “查询表达式中的”语法错误(缺少运算符)“。我没有看到另外一组括号,除了我在下面用星号标出的那一组外,我可能会删除。 (我关注的事实是解决方案设置了括号中的)。现在我只是删除了越来越多的括号,希望我偶然发现哪一组导致了问题。有任何想法吗?无法表达联接表达
编辑整个错误消息是“Microsoft Access不能代表在设计视图中加入表达dbo_jobmatl.suffix = dbo_job.suffix。”“一个或多个字段可能已被删除或重命名;名称在联合展示中指定的一个或多个字段或表可能拼写错误;联接可能使用在设计视图中不受支持的运算符,如>或<。
SELECT dbo_jobmatl.item, dbo_job.whse
FROM **(**(dbo_job INNER JOIN dbo_jobmatl ON (dbo_jobmatl.suffix = dbo_job.suffix) AND (dbo_job.job = dbo_jobmatl.job)**)** INNER JOIN dbo_ISW_LPLot ON dbo_jobmatl.item = dbo_ISW_LPLot.item) INNER JOIN (dbo_location INNER JOIN dbo_ISW_LP ON dbo_location.loc = dbo_ISW_LP.loc) ON dbo_job.whse = dbo_ISW_LP.whse
GROUP BY dbo_job.job, dbo_job.suffix, dbo_job.item, dbo_job.job_date, dbo_jobmatl.item, dbo_job.whse, [qty_released]*[matl_qty], dbo_jobmatl.qty_issued, ([qty_released]*[matl_qty])-[qty_issued]
HAVING (((dbo_job.job) Not Like "BM*" And (dbo_job.job) Not Like "QCBEN*" And (dbo_job.job) Not Like "QCBRU*" And (dbo_job.job) Not Like "QCKIR*" And (dbo_job.job) Not Like "SS*" And (dbo_job.job) Not Like "SU*" And (dbo_job.job) Not Like "TR*" And (dbo_job.job) Not Like "WC*" And (dbo_job.job) Not Like "WH*" And (dbo_job.job) Not Like "WT*" And (dbo_job.job) Not Like "KR*" And (dbo_job.job) Not Like "HR*") And ((dbo_job.item) Not Like "Indirect") And ((dbo_job.job_date)=Forms!MainForm!Text0));
有更多的错误吗?它是否说出语法错误在哪里?你可以仔细检查以确保您的Forms!MainForm!Text0的值是一个日期。最后,为了好玩,在[Form]![MainForm]![Text0]之类的表单引用中的每个元素周围放置[括号]。我的猜测是,这与括号无关。 – JNevill
是的,还有更多的错误,我会编辑。对于那个很抱歉。 – whatwhatwhat
您是否尝试过在Access可视化编辑器中构建查询,而不是手动编写SQL?这可能是因为你拼错了一个字段名称或类似的东西。 – citizenkong