Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Считывание значений из Table в Combobox [D7, 2003]


John_Doe ©   (2006-02-04 10:13:00) 

Добрый день.
Проблема такая...
У меня есть ComboBox,элементы которого должны быть соответствующими значениями 2-го поля в некоторой таблице данных.

Реализовал это так:

procedure TfrmWare.FormShow(Sender: TObject);
var i: Word;
begin
 cbxStockSelect.Clear;
 dmTables.tblStocks.First;
 for i:=0 to  dmTables.tblStocks.RecordCount-1 do
   begin
    cbxStockSelect.Items.Add(dmTables.tblStocks.Fields.Fields[1].AsString);
    dmTables.tblStocks.Next;
   end;
  dmTables.tblStocks.First;
end;

Все обьекты типа TTable,и TDataSource я поместил в dmTables(DataModule),так как доступ к таблицам нужен из многих форм.
Но работает это медленно.
Могли бы вы подсказать,как это можно реализовать быстрее.
Есть ли такое св-во у TTable,которое присвоив ComboBox.Items,я бы сразу перенес значения всех ячеек некоторого поля?
Или может предложите что-то потимальнее.
Заранее спасибо.


Desdechado   (2006-02-04 16:36:00) [1]

ты попытался в лукапе сослаться дважды на одну таблицу


YurikGL   (2006-02-04 15:00:00) [2]


> Circular datalinks are not allowed.

Переводим на русский язык. :)


John_Doe   (2006-02-04 13:38:00) [3]

Ага...
Сделал,и все отлично показывает.
Но теперь другая проблема.

У меня задание такое:
2 таблицы Stock,и Ware.
Есть DBLookupCombobox,и в нем связав все,я получил нужный результат.
Я там выбираю название склада из поля "Name" таблицы Stock.
И мне надо чтоб в гриде,появлялись все товары этого склада.
Для этого я во второй таблице - Ware,указал связующее поле "StockNo"(номер склада),и связал его с полем "#" таблицы Stock.
Но теперь,после того как использовал DBLookupCombobox,когда пытаюсь связать 2 таблицы,он мне выдает:

Exception EDatabaseError in module Ticaret.exe at 000915BD.

Circular datalinks are not allowed.

Access violation at address 7C918FEA in module 'ntdll.dll'. Write of address 00000010.


Что не так?


John_Doe   (2006-02-04 12:16:00) [4]

Эх...
Что-то я не разобрался.
"DBLookupComboboxEh" такого компанента не нашел,нашел просто "DBLookupComboboxEh".


YurikGL   (2006-02-04 10:17:00) [5]

Пользуйся ehLib.
Там есть DBLookupComboboxEh


Наверх

Титульная страница Поиск, карта сайта Написать письмо