A family of Microsoft relational database management systems designed for ease of use.
Umm, Append, Update, Delete ARE Action queries that are SQL statements. So I think you read something incorrectly. I agree it is better to use a SQL Action query to modify data in bulk.
When you use DoCmd.OpenQuery to run an Action query, then Access will prompt you that you are modifying records. Using DoCmd.SetWarnings suppresses those messages. However, if you use CurrentDB.Execute as I did in my example, the warnings are suppressed automatically.
When you create a Relationship using the Relationships window you can set Referential Integrity. Part of RI is cascading deletes. So if you delete a parent, it deletes the child records for you.
So back to my point. the Syntax for a DELETE query is:
DELETE * FROM table WHERE somefield = some value
You don't need to specify a field list since it deletes the whole record so you just need the *. You DO need to specify a criteria to identify the record(s) you want to delete. If you are deleting a single record you want to set criteria to the primary key. If you want to delete children records, then you set the Foreign Key value. For example: DELETE * FROM OrderDetails WHERE OrderID = x
That will delete all the line items for the specified order.
Hope this helps you understand better.