When MS Access queries the table metadata, the primary index is not returned as a primary key hence it does not show up as a key column. When MS Access cannot identify a primary key, it uses unique fields as the key. Setting unique index also makes the columns unique so they are returned and then set as the key column in MS Access.
The issue is that the database table in this example, Profile, has different unique indexes defined for the table, one of them is for idcode column (IDCODE index) and the other for External-Source and External-ID columns (External-ID index). The IDCODE index is defined as primary key as confirmed using the Data Dictionary tool.
External-ID and External-Source are unique due to these being able to only relate to one record in FIMS. These fields are associated with data that comes in from our other FIMS supported products.Note that Blackbaud only supports data coming into FIMS from supported FIMS programs like DonorCentral, IGAM and FIMS CRM. If a change is made in FIMS using an external third party data source, that change will not stay because the master database is not FIMS and is also not supported.