Actually, I'm a bit surprised that even works, as I would have thought the * between DELETE and FROM would fail, however, if it works, it works. To expand it to only delete values that match on multiple columns, your syntax would be
DoCmd.RunSQL "DELETE FROM Tbl1 WHERE Grade = '" & txtGrade.Value & "' AND Year = '" & txtYear.Value & "' AND School_Name = '" & School.value & "'"
However, I will say this, you have opened yourself to a SQL Injection with this process so be sure to sanitize your data (verify it is legit). Granted I see this is against an Access database, so your tools to do that, may be limited.
I did a bit of quick searching and found you can use parameters when working with access if you change how you connect to access
http://stackoverflow.com/questions/14328640/sanitize-ms-access-query-using-regex (see last example on that page)