SetDBLinkedData()

Summary

Links data in an external table to features in an existing point database..

Changes

Added to Version 2019.

Syntax

SetDBLinkedData(string db_file_name, array options)

Argument Contents
db_file_name Name of a standard geographic file
parameters An array of two-element arrays
Options Type Contents
LinkedDataFlag Boolean True to include linked data in the database, False to clear linked data from the database
TableType String The table type ( See OpenTable() )
TableSpec Array An array of table information, (See OpenTable())
IdField String The name of the unique ID field in the table
GeocodeInfo Array An array of information used to geocode the record (see below)
MethodIndex Integer (Optional ) Index into the list of catalog locating methods, e.g., Catalog.FindValue("map_wizard.layers." + lower(locationType) + ".locating_methods"
GeocodeInfo Type Contents
Type String The type of geocoding, e.g., "Street", "City", "State", "ZIP", "Country"
Fields Array The field name(s) in the table used for geocoding, e.g., {"ZIPCode"} for Type "ZIP" or {"Address", "Address2", "ZIPCode", "City", "State"} for Type "Street"

Notes

  • The "Update Linked Records" macro can be used to refresh the linked data when the external table is updated ( e.g., RunMacro("Update Linked Records")). The point db must be open in a map or a dataview.

  • SetDBLinkedData() does not check whether the parameters are correct.

Example

LinkedData.TableSpec = {"Customers.xlsx", "Sheet1$"}
LinkedData.TableType = "EXCELX"
LinkedData.LinkedDataFlag = True
LinkedData.IdField = "CustomerID"
GeocodeInfo.Type = ZIP"
if methodIndex != null then
GeocodeInfo.MethodIndex = methodIndex
GeocodeInfo.Fields = {"ZIPCode"}
LinkedData.GeocodeInfo = GeocodeInfo
SetDBLinkedData("customers.dbd", LinkedData)

Error Codes

Error Type Meaning
Error The standard geographic file could not be found

See Also

Function Summary
GetDBLinkedData Returns the same array as was passed in to SetDBLinkedData().
Update Linked Records Updates the information in a point layer based on the original table on which the database (db) is based