This presents a major threat. Suppose you archive data from TableXYZ to TableABC and then purge from TableXYZ the records you assume have been transferred. BIG MISTAKE. TableABC will be missing the violating records, and those records will have been deleted from TableXYZ, forever.
INSERT INTO TableABC ( aPrimaryKeyFieldWithNullsAndEmptyStringsForbidden)
will trigger an error message when run from the QBE screen if TableXYX contains nulls or empty strings, or if it attempts to insert a value that violates TableABC's primary key. However, the following VBA code will let you believe everything is OK when, in fact, not all records from TableXYZ were appended:
Dim sql As String
Dim rs As DAO.Recordset
sql = ""
sql = sql & "INSERT INTO TableABC ( aPrimaryKeyFieldWithNullsAndEmptyStringsForbidden ) "
sql = sql & "SELECT AFieldContainingNullsOrEmptyStrings "
sql = sql & "FROM TableXYZ"