Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Считывание значений из Table в Combobox   Найти похожие ветки 

 
John_Doe   (2006-02-04 10:13) [0]

Добрый день.
Проблема такая...
У меня есть 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,я бы сразу перенес значения всех ячеек некоторого поля?
Или может предложите что-то потимальнее.
Заранее спасибо.


 
YurikGL ©   (2006-02-04 10:17) [1]

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


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

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


 
John_Doe   (2006-02-04 13:38) [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.


Что не так?


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


> Circular datalinks are not allowed.

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


 
Desdechado ©   (2006-02-04 16:36) [5]

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
2-1138970168
Делфёст
2006-02-03 15:36
2006.02.19
Индикатор выполнения задачи


2-1138618320
V0va
2006-01-30 13:52
2006.02.19
WideString, хранение строк


2-1138527082
VikMix
2006-01-29 12:31
2006.02.19
не перехватывается WM_QUERYENDSESSION !


2-1138553720
SergV
2006-01-29 19:55
2006.02.19
Измирение темпиратуры чипсетов в Delphi


15-1138446098
Хинт
2006-01-28 14:01
2006.02.19
Перевести с Visa илл Master card на WebMoney





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский