2017-07-07 103 views
0

我试图从报表与多个表中的数据创建删除记录。 下面是我写此删除从表中的记录在MS Access 2010

CurrentDb.Execute "DELETE FROM StateBudget " & " WHERE S_ID=" & ("SLELECT ID FROM States " & " WHERE State=" & Me.subformStateBudget.Form.Recordset.Fields("State")) 

和错误代码出现这样

语法错误(缺少运算符)查询表达式S_ID = SELECT ID FROM状态,其中状态= ??? ?”。

+1

作为一般规则,不做=子查询。改用'IN'。 – jarlh

+1

你可以去'DLookUp'以及('使用DLookup( “ID”, “国家”, “国家=” &Me.subformStateBudget.Form.Recordset.Fields( “国家”))'返回完全一样的子查询。当你指的多个表中删除查询访问不喜欢它。顺便说一句,你是拼写错误'SELECT'在你的子查询,这可能也解释了它。 –

+0

谢谢你的建议,我会改正拼写错误。 –

回答

0

检查了这一点

CurrentDb.Execute "DELETE FROM StateBudget WHERE S_ID IN (SELECT ID FROM States WHERE State=" & Me.subformStateBudget.Form.Recordset.Fields("State") & ")" 

顺便说你已经选择了拼写错误,您错误地添加字符串。 Select之前的括号应该在字符串内等等。