Ich versuche Datensätze aus dem Unterbericht zu löschen, die mit mehreren Tabellen Daten erstellt. Unten ist der Code ich für dieseLöschen eines Datensatzes aus Tabelle in MS ACCESS 2010
CurrentDb.Execute "DELETE FROM StateBudget " & " WHERE S_ID=" & ("SLELECT ID FROM States " & " WHERE State=" & Me.subformStateBudget.Form.Recordset.Fields("State"))
Und Fehler erscheinen wie diese
Syntaxfehler (fehlender Operator) in Abfrageausdruck ‚S_ID = SELECT ID schreiben aus Staaten, in denen State = ??? ? ". diese
Als allgemeine Regel tun Sie nicht = Unterabfrage. Verwenden Sie stattdessen "IN". – jarlh
Sie können 'DLookUp' auch gehen (' DLookUp ("ID", "Staaten", "State =" & Me_formStateBudget.Form.Recordset.Fields ("State")) 'gibt genau das gleiche wie Ihre Unterabfrage. Access mag es nicht, wenn Sie sich auf mehr als eine Tabelle in einer Löschabfrage beziehen.Außerdem schreiben Sie 'SELECT' in Ihrer Unterabfrage falsch, was das auch erklären könnte. –
Danke für den Rat, ich werde den Rechtschreibfehler beheben. –