Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.09.2007, 08:57
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию Проблема с лукап полями

Меня эта проблема вообще в тупик загнала, вот в чем ее суть:
программно создаю lookup поля в AdoTable
вот процедура создания полей:
Код:
procedure CreateLookups;
   //Процедура создания LookUp поля
   procedure createit(KeyF,               //Имя поля которое нужно заменить
                      LUpKeyF,
                      LUpRes :string;
                      T1, T2 :TADOTable);
   begin
     with TStringField.Create(DataModule1.T) do
       begin
        FieldName  := 'lookup' + KeyF;
        FieldKind  := fkLookup;
        DataSet    := T1;
        Name       := 'My' + FieldName;
        KeyFields  := KeyF;
        LookUpDataSet := T2;
        LookUpKeyFields := LUpKeyF;
        LookUpResultField:= LUpRes;
        DataModule1.T.FieldDefs.Add(Name, ftString, 100, false);
       end;
      DataModule1.T.FieldByName(KeyF).Visible:=false;
      DataModule1.T.FieldByName(KeyF).Index:=T1.Fields.Count-1;
      DataModule1.T.FieldByName('lookup' + KeyF).Index:=StrToInt(KeyF)-1;
      DataModule1.T.FieldByName('lookup' + KeyF).DisplayLabel:=KeyF;
   end;
begin
  DataModule1.T.Active:=false;
  createit('2','id','value', DataModule1.T, DataModule1.T2);
  createit('4','id','value', DataModule1.T, DataModule1.T4);
  createit('76','id','value', DataModule1.T, DataModule1.T76);
  DataModule1.T.Active:=true;
end;

Но при просмотре таблицы получается, что отображается только первые 20 символов во всех 3х полях(пример в файле). Проверял с разными таблицами, везде ошибка повторяется, значит ошибка в датасете. Создовал в ручную лукап поле, вроде, отображается нормально, но меня интересует именно программное создание полей.
Подскажите как можно исправить ошибку?
Изображения
Тип файла: png Example.PNG (6.0 Кбайт, 6 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter