删除从表中的记录在MS Access 2010
问题描述:
我试图从报表与多个表中的数据创建删除记录。 下面是我写此删除从表中的记录在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状态,其中状态= ??? ?”。
答
检查了这一点
CurrentDb.Execute "DELETE FROM StateBudget WHERE S_ID IN (SELECT ID FROM States WHERE State=" & Me.subformStateBudget.Form.Recordset.Fields("State") & ")"
顺便说你已经选择了拼写错误,您错误地添加字符串。 Select之前的括号应该在字符串内等等。
作为一般规则,不做=子查询。改用'IN'。 – jarlh
你可以去'DLookUp'以及('使用DLookup( “ID”, “国家”, “国家=” &Me.subformStateBudget.Form.Recordset.Fields( “国家”))'返回完全一样的子查询。当你指的多个表中删除查询访问不喜欢它。顺便说一句,你是拼写错误'SELECT'在你的子查询,这可能也解释了它。 –
谢谢你的建议,我会改正拼写错误。 –