Instructions provided describe how to label a related table using Python. There is no 'out-of-the-box' functionality to label a related table.
A basic understanding of Python functions and search cursors is needed.
The code below creates a FindLabel Python function. Relates are never created, but the two key fields are compared in a double iteration.
Open the Label Expression dialog box.
a. Right-click the feature class to be labeled and select Properties. b. Click the Labels tab. c. Click Expression to open the Label Expression dialog box.
Select Python as the parser and check the Advanced check box.
Copy-paste the following code. Note that [keyfield], [FirstLabel], key1, key2, L, L2, and myDataTable must be changed to match the environment.
[keyfield] and key1 are the key fields in the feature class, used to relate to the related table.
[FirstLabel] and L are the field in the feature class to be labeled.
key2 is the key field in the related table.
L2 is the field in the related table that should also be labeled. myDataTable is the path and name of the related table.
def FindLabel ([keyField], [FirstLabel]):
key1 = [keyField] # Key field in feature class
key2 = "ID" # Key field in related table
L = [FirstLabel] # Label field in feature class
L2 = "Label2" # Label field in related table
myDataTable = r"<path-to-related-table>" # Path to related table
cur = arcpy.da.SearchCursor(myDataTable, [key2, L2])
for row in cur:
if str(key1) == str(row):
L = L + " " + str(row)
Click OK to return to the Layer Properties dialog box.