>>If not, how should I go about checking for success? <<
The usual approach would be to execute both SQL statements within a Transaction. The following is a simple little procedure to illustrate this:
Public Sub TranactionDemo()
' this demo procedure uses two empty tables, Families and FamilyMembers
' related on the FamilyName columns.
' the second SQL statement attempts to insert a row for family name 'Black'
' into FamilyMembers for which there is no row in Families, violating
' referential integrity and causing the transaction to be rolled back, so
' no row is inserted into either table
On Error GoTo Err_Handler
Dim strSQL As String
Dim strCriteria As String
DBEngine.BeginTrans
strSQL = "INSERT INTO Families(FamilyName) " & _
"VALUES(""White"")"
CurrentDb.Execute strSQL, dbFailOnError
strSQL = "INSERT INTO FamilyMembers(FamilyName, Firstname) " & _
"VALUES(""Black"",""John"")"
CurrentDb.Execute strSQL, dbFailOnError
DBEngine.CommitTrans
' after the transaction has been rolled back change the second SQL statement to insert
' a row into FamilyMembers for John White, and run the procedure again.
' the transaction should now be committed and rows inserted into both tables
Exit_Here:
Exit Sub
Err_Handler:
MsgBox Err.Description
DBEngine.Rollback
Resume Exit_Here
End Sub