The Attributes window allows me to edit the attribute values of selected features and any related features or records in a stand-alone table. In a previous post, I wrote about the enhancements to the Attributes window in ArcGIS 10 and talked about shortcuts for updating the attribute values of features. Now, I am going to focus on using the Attributes window to edit related records, which are linked to a feature class through a geodatabase relationship class. To edit related records, an ArcGIS for Desktop Standard (ArcEditor) or ArcGIS for Desktop Advanced (ArcInfo) license is required.
I have a stand-alone table of landowner information that is related to a parcels feature class. Due to some recent property sales, I need to update the attribute values for the landowner names and percentages owned for some of the parcels. I first select the parcels on the map so the features are listed in the Attributes window. Since the landowner table is related through a relationship class, I can edit the table’s landowner information and establish and remove relationships among parcels and owners in the Attributes window. I can click the Parcels layer name and click the Expand All Relationships In Branch button at the top of the window to show all the nodes in the attributes tree. It’s best to use this on a small set of features since expanding all these relationships could take some time otherwise.
The values that are shown in the grid at the bottom of the window depend on what I have clicked (highlighted in gray) in the attributes tree at the top. When I click one record, the values for only that record are shown and changes apply to just that record. However, if multiple records are highlighted in the tree, any values are changed in all the highlighted records. When multiple records need to be updated to the same value, I can save time by clicking the appropriate branch of the tree and editing the attribute values at once.
Adding a relationship and updating all related records belonging to a feature
The ownership of property 3394 has been divided into two owners. Veronica Jones previously owned the entire parcel at 100 percent, but now is sharing ownership with her corporation, Jones Management. I need to add a new record for Jones Management to the Owners stand-alone table and relate it back to property 3394. In one step, I can create the new record and a relationship to this parcel by right-clicking the table name and clicking Add New. After I do this, the new record shows up in the tree and I can add the name for Jones Management. I am able to do this all from the Attributes window without having to open the owner’s table. However, if I already had an existing entry for Jones Management, I could select the record in the table and click Add Selected to establish the relationship with this parcel.
With the new relationship in place, Jones Management and Veronica Jones are both now associated with this property. I need to update the attribute values for Jones Management and Veronica Jones to indicate each owns 50 percent of the property. Rather than update each record one at a time, I can click the table name to update all the records related to that parcel feature at once.
When I am viewing the attributes for multiple records, only values that are common to all the records are shown in the grid. In this case, the Property ID of 3394 is the same for both records and is displaying in the grid. If field values are different among the records, the attribute cell in the right column is blank. When I change a value, it is updated in all the related records for parcel 3394. Therefore, I need to be sure to change just the values that should apply to all the features. Since the Percentage ownership of 50 is the only value I want to apply to both records, I do not change anything else in the grid. As soon as I click away from the field or press ENTER, the value is stored in the table.
Removing a relationship and updating a record
In a reverse case, ownership of property ID of 3389 had been shared jointly by the Brown Company and another firm, Williams Investing. However, the Brown Company just bought the entire property and now owns 100 percent of the parcel. Before I update the Brown Company’s ownership, I need to break the relationship between the parcel and the other previous owner. To do this, I right-click the Williams Investing related record and click Remove From Relationship. This only removes the relationship; it does not actually delete the record from its table. I can open the table if I want to delete the Williams Investing record.
Now that the Brown Company is the only owner related to the parcel, I need to update the percentage ownership to indicate it is the sole owner. When I click Brown Company in the tree at the top, I see all the attribute values of just that record. Any changes I make are applied to only that record. I can update the Percentage ownership value by typing 100 in the cell for that field.
Updating just a few related records
In another transaction, properties 3436 and 3455 were purchased by Jackson, Inc. Since they are no longer owned by Smith or Johnson, I need to change the Owner name to Jackson, Inc. If I only want to update the values for a few records, I can hold down CTRL and click just the records to be changed in the tree. This way, when I update the attribute values, they are applied to only the highlighted items. Because there are no common values among these records, all the fields are blank until I start typing JACKSON, INC. for the name. Since no other records are highlighted at the top of the window, the Owner name field will only be updated for properties 3436 and 3455.
Updating all related records for all selected features
After I made these updates, the City’s proposal to buy all the land in this block for a redevelopment and utility expansion project was approved. Once the City is the owner of the properties, all the landowner names need to be updated to the City. To update all related records for all selected features, I click the first record, hold down SHIFT, and click the last record. This highlights all the related records in the attribute tree. In addition to changing the owner name, I can change the percentage ownership to 100 and update any other values that apply to all these features.