Я использую TADODataSet
(D7)
Я не создаю постоянные поля в режиме проектирования с моим DataSet.
dsItems.CommandText := 'select ID, ItemName, UserIDCreate from Items';
dsUsers.CommandText := 'select ID, LoginName from Users'; // lookup dataset
Если я дважды щелкаю на dsItems
и "Добавить все файлы", а затем нажимаю "Новый файл" и определяю свое поле поиска, все работает нормально.
Полученный dsItems
должен содержать: ID, ItemName, UserIDCreate, LoginName_Lookup
Как я могу избежать всего этого в design-time и добавить Lookup Field после/или до (? не уверен) открытия DataSet.
Другими словами: Как мне эмулировать "Add all fileds" и затем "New filed" для добавления lookup filed во время выполнения?
ПРИМЕЧАНИЕ:
Я получаю исключение при запуске кода Джона из IDE. Исключение возникает при попытке открыть DataSet: EOleException с сообщением 'An unknown error has occured'
.
function TCustomADODataSet.LocateRecord (ADODB.pas)
в строке if FieldCount = 1 then FLookupCursor.Find...
Я принимаю ответ, потому что дополненная программа работает.
Было бы здорово, если бы кто-нибудь мог проверить получение (или не получение) исключения при запуске формы внутри IDE.