Да, под привязкой понимается именно это: для каждой номенклатуры заводится несколько записей в ShopInventItems с данным ItemId. Но может быть и номенклатура, для которой в ShopInventItems ничего не заводится.
Высылаю проект с тестовой формой. Там связь таблиц InventTable и ShopInventItems стоит Delayed. Если поставить InnerJoin, то записи в гриде будут плодиться по кол-ву записей в ShopInventItems для данного ItemId. Поэтому я и хочу разрывать связь двух датасоурсов.
В таком виде форма работает, как задумано. Но стоит только добавить источник данных, связанный с InventTable по InnerJoin (или по любому типу Join), то при смене формата (метод ChangeFormat) возникает ошибка на InventTable_ds.executeQuery().
В реальной форме InventTable таких источников, связанных с InventTable по Join много, и фокус не проходит