In X-Cross, the relational connections between tables (e.g the connection between and invoice and the client) uses the ID column of the tables, that is a number automatically generated when a new record is inserted.
Thanks to this structure, the search keys that are used to retrieve the records of the table (e.g. the stock item code, the clients catagories codes, the account code, etc.) can be modified at any time, without any consequence on the data structure.
ID columns
In X-Cross, each database table has a numeric column (ID) thast is automatically generated, and is never modified.
The record code, if present, is called “search key” because it is the key that is used to search the record, e.g. the stock item code.
Modify the search keys
The connections between tables (foreign keys) always use the ID column, and never the search key.
In this way, the user (if granted) can modify the search key at any time, without any effect on the child tables that are connected to the parent one.
The search key is normally disabled
and the user can modify it calling a pop-up menu command, and only if the access profile allows to modify the search key.
Grant to modify search keys
Since this kind of operation can be delicate, a special grant is necessary for the user to be able to modify the search keys, of every table or of a specific one.