I am using Access 2013 from Office Professional Plus.
Access allows me to defeat referential integrity by appending space characters to a field value, and I'm semi-shocked. Details follow.
Table2 has two primary keys, one of which (Key1) looks up values in Table1.
There is an explicit one-to-many relationship between the Key1 fields in Table1 and Table2.
Join Property is 1 (only include rows where the joined fields from both tables are equal).
Enforce Referential Integrity is selected.
Cascade Update Related Fields is selected.
Cascade Delete Related Fields is not selected.
Key1 in Table2 is a Combo Box that looks up values in Table1.
Limit To List is set to Yes.
Various records are populated in Table 1 and Table2.
Manual attempts to update the Key1 value in a Table2 record to a value that does not appear in Table1 were rejected (The text you entered isn't an item in the list). This is what I expected.
Manual attempts to update a Key1 value in Table2 by appending a single space character to a value that appears in Table1 were rejected (The text you entered isn't an item in the list). This is what I expected.
An update query that appends a single space character to an existing Key1 value in Table2 was successful. No warning or rejection message was issued. The space character remains after closing and reopening the database, and after running Compact & Repair. I know it's whitespace, but it's a valid character that functions take note of. This is certainly not what I expected.
Is there something that I can do to prevent this from happening?