If join has an error, don't create a broken join

601
4
11-28-2022 01:44 PM
Status: Open
Labels (1)
Bud
by
Notable Contributor

I'm creating a join from Test_FC to Test_table via a common ID field.

In Test_Table, I've accidently set the ID field's datatype to text instead of a long integer.

Bud_0-1669670554213.png


Not knowing about the mistake, I attempt to create a join in the attribute table of Test_FC.

Bud_1-1669670683299.png

Bud_3-1669670727303.png

But, the join fails, because the ID field in Test_Table is text, not an integer.

Bud_4-1669670789953.png
Failed to refresh table. Error: The value type is incompatible with the field type.

 

That error message is expected.

But what's not expected is: ArcGIS Pro creates a broken join that is fiddly to deal with.

  • The Attribute Table automatically closes -- which isn't something I'm used to seeing.
  • When I try to open the Attribute Table to investigate the join, I get the same error again: Failed to refresh table.
  • I don't see a way to delete the join from the layer Properties:
    Bud_6-1669671153172.png

 

After spending some time clicking around in ArcGIS Pro, I can see that I can remove the join using the layer's right-click context menu.

Bud_7-1669671248090.png

And that does seem to work -- I can remove the join and open the Attribute Table again without getting the error.

But it was a bit of a journey to get there.

Alternatively, if a join has an error, then I think ArcGIS Pro should simply not create the join, instead of creating a broken join.

Thanks.

 

ArcGIS Pro 3.0.2

4 Comments
DanPatterson

Perhaps use this to catch other errors as well before attempting a join.

Validate Join (Data Management)—ArcGIS Pro | Documentation

RoseF
by

Sounds like a bit of a bug; I've had this happen plenty of times and I feel like ArcMap would just make the join "fail"... not try to maintain a join that is a... failure?

And definitely validate the join first, but I assume you did that and even if you DID, if you'd run the join, it would have had the same result.

Bud
by

Here's an example of join that passes the "Validate Join" test, but results in a broken join:

Join to table with definition query — column name should get prefixed (SQL expression with subquery)

Bud
by

Related:

 

Esri Canada Case #03258990: ArcGIS Pro 3.0.3 — Broken join removed but still can't open attribute table

BUG-000155830 - Failed to open Mobile geodatabase feature attribute table after applying join from a SQL queried standalone table with error: Underlying DBMS Error [ambiguous column name objectid]

 

Esri Canada Case #03258894: ArcGIS Pro 3.0.3 — Validate Join passes, but resulting join has error

BUG-000155819: Attribute table of joined layer in Mobile Geodatabase does not open when a definition query with a subquery is applied to the join table