Я новичок в Delphi.Я получил две TSQLTables (скажем, A и B), связанные с двумя TClientDataSets (скажем, cdsA и cdsB соответственно) двумя TDataSetProviders, два источника данных (dsA и dsB) завершают сценарий.
Пусть A будет основным, а B - подробным.
B.MasterSource установлен в значение dsA, а значение B.MasterFields ссылается на поле, которое не существует в cdsA (но существует в запросе).Когда я запускаю приложение, сначала открываю cdsA, а затем открываю cdsB.Что-то идет не так.DBGrid, который ссылается на источник данных dsA, показывает данные, DBGrid, который ссылается на dsB, ничего не показывает.Лог-файл SQLMonitor показывает, что запрос, реализованный в B, выполняется (простой select a, b, c from tableB
).Все работает нормально, если я изменяю запрос и показываю поле 'X' (select a, b, c, X from tableB
), где 'X' - это поле, указанное в свойстве B.IndexFieldNames.
Почему DBGrid, ссылающийся на dsB, не работаетпоказать запись B, связанную с текущей записью cdsA?Работает ли это, только если я укажу IndexFieldNames
в столбцах запроса?Что я упустил?ТИА.