TL: DR; version:
If I insert a record into a linked table that has a trigger that inserts a record into another table, Access displays the global identifier (the identifier of this other table) instead of the correct primary key and populates the columns using the record value with the corresponding identifier, if there is a record with the corresponding identifier.
Is there any way to stop / circumvent this behavior?
MCVE:
I have the following table:
CREATE TABLE MyTable(
[ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[Col1] [nvarchar](255) NULL,
[Col2] [nvarchar](255) NULL
)
The following information is placed in the table (before creating the trigger)
INSERT INTO [MyTable]
([Col1]
,[Col2])
VALUES
('Col1'
,'Col2')
GO 10
And the following table that records the changes:
CREATE TABLE MyTable_Changes(
[ID] [int] NOT NULL,
[Col1] [nvarchar](255) NULL,
[Col2] [nvarchar](255) NULL,
[IDChange] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY
)
The following trigger has been added to this table:
CREATE TRIGGER MyTableTrigger ON MyTable AFTER Insert, Update
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO MyTable_Changes(ID, Col1, Col2)
SELECT * FROM Inserted
END
MyTable - Microsoft Access, ODBC:
ODBC;DRIVER=SQL Server;SERVER=my\server;Trusted_Connection=Yes;APP=Microsoft Office 2010;DATABASE=MyDB;
Access 2010 .accdb
:
. , MyTable - 100, MyTable_Changes 10.
MyTable, Col1 "A", 11, Col2 Col2 ID 11. Col1 . F5 , .
:
(, ). , Access ( , ), .
, , , , , , navpane .
: (: , : )

, Col1 Col2 , ID 1 . , (ID 11, Col1 a, Col2 Null), .