0

Seems like I was able to do this easily a few months ago using ArcGIS Pro 2.9. I have a database table and a feature class. I need to be able to draw in a polygon for the feature class and use the information in the table to populate the attribute table of the feature class. One of the attributes is the UID (text datatype) that the table and feature class are joined on.

After the UID from the table is pasted into the UID field of the feature class I need that record in the table to disappear from the table view through refreshing the table view as a definition query will not allow table records sharing the same UID as features in the feature class from appearing.

I've joined the table and feature class with the table as the inner join. As part of a daily workflow, the features are deleted from the feature class after they are appended to a production version of the feature class. So there are initially no match records, or any records, in the feature class at the beginning of the work session.

The definition query I am using is:

User1_reftable.UniqueId <> Surveyor_Map_Docs_Edit.UniqueId

This results are showing no records at all in the table.

Shouldn't it show all of the records prior to drawing in a new feature and adding the UID value to the feature class? I did a series of tests and it seems like everything works except <>. Is there another operand I should use since the UID fields are text strings?

3
  • 1
    If you have nulls that can screw up queries especially ones with <>.
    – John
    Jun 26, 2022 at 23:22
  • There are no nulls
    – geoJshaun
    Jun 27, 2022 at 0:11
  • @johns Is there another operand I should use since the UID fields are text strings?
    – geoJshaun
    Jun 27, 2022 at 19:16

1 Answer 1

2

Even though there were no nulls in the target layer, by virtue of joining tables where the join table has UniqueId populated from the target table once a feature is drawn, it starts by having nothing but Nulls in the start. Therefore the correct definition query should be:

Surveyor_Map_Docs_Edit.UniqueId is Null OR User1_reftable.UniqueId <> Surveyor_Map_Docs_Edit.UniqueId

or more simply one could use:

Surveyor_Map_Docs_Edit.UniqueId is Null

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.