Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.09;
Скачать: CL | DM;

Вниз

Взять из таблицы записи со значениями из комбобокса.   Найти похожие ветки 

 
John_Doe   (2006-02-11 11:02) [0]

Мне нужно,чтоб в комбобоксе,отображались названия всех складов из таблицы tblStocks.
И при выборе некотрого склада,выпадал список всех товаров данного склада,из другой таблицы tblWare.

Реализовал так:
1)Связал Stocks и Ware,по автоинкрементному полю таблицы Stocks.
2)В OnCreate"е главной формы,считываю названия складов в StringList.
3)В OnShow другой формы,присваиваю cbxStockName.Items:=StringList;
4)В OnChange"е комбобокса делаю: dmTables.tblWare.FindNearest([cbxStockName.Text]);
dmTables - модуль данных,содержащий таблицы.

Есть ли способ реализовать это оптимальней?
Если да,то прошу подскажите.

PS.Пробовал DBLookupCombobox,не получается.


 
Ega23 ©   (2006-02-11 11:17) [1]


> Пробовал DBLookupCombobox,не получается.


Что именно не получается? Он именно для таких вещей и предназначен.


 
John_Doe   (2006-02-11 11:22) [2]


> Что именно не получается? Он именно для таких вещей и предназначен.

Circular DataLinks are not allowed.
Хотя никаких обращений самого к себе нет.


 
Ega23 ©   (2006-02-11 11:38) [3]

Это ты с настройками перемудрил. Что делал?


 
ЮЮ ©   (2006-02-11 13:21) [4]


> Circular DataLinks are not allowed.

а в tblWare поле Stocks не с помощью Lookup поля отображается? Тогда и DataSet нужен другой, а не tblStocks, ибо получишь то самое Circular DataLinks


 
John_Doe   (2006-02-11 14:56) [5]

Ну реально ребята.
Ну так нельзя.
Я вчера где-то минут 45 просидел,так и не поняв где же ошибка.
Сегодня решил плюнуть на прихоти клиента,и перевести таблицу с PaRaDox"а на MsAccess,а BDE на ADO.
И все теперь работает.
Никаких: "Circular DataLinks are not allowed."

PS.BDE и PaRaDox:
Вы обвиняетесь в глюках.
Приговор привести в исполнение.


 
John_Doe   (2006-02-11 15:02) [6]


> получишь то самое Circular DataLinks

И почему же?
Вроде работает.


 
Desdechado ©   (2006-02-11 17:05) [7]

> BDE и PaRaDox: Вы обвиняетесь в глюках. Приговор привести в исполнение.
Утро вечера мудренее.
Просто вчера ты тормозил, а сегодня ручник сломался :)


 
John_Doe   (2006-02-11 17:39) [8]

Интереса ради...
А можно ли либо из грида,либо из самого ADOTable,взять значения ячеек некоторого поля одним махом и вписать их в StringList?

Ну что-то вроде:
StringList.Items:=ADOTable.Fields[1].Items;

Такая запсиь ес-нно неверна,но все же наверное что-то вроде этого должно быть.

Все что я нашел на эту тему,это GetData.
Но в эту процедуру,надо передавать Pointer,и как потом хранящуюся в Pointer информацию ввести в StringList.Items,не совсем ясно.
Видать эта процедура,служит скорее для обмена данными.


 
Desdechado ©   (2006-02-11 17:50) [9]

table - набор данных, в котором одновременно доступна только текущая строка
поэтому для запихивания в stringlist делается цикл из 3 строчек
with( table ) do
begin
first;
while( not eof ) do
stringlist.items.add(fields[0].asstring;
next;
end;
end;


 
John_Doe   (2006-02-11 17:52) [10]

До сих пор так и поступал.
Просто все дело в том,что вычитывать все записи по одной...
Думал может есть способ лучше,но очевидно его нет.


 
Desdechado ©   (2006-02-11 18:27) [11]

датасеты все разные, у многих есть только однонаправленный доступ, у многих - подчитка с сервера по мере необходимости
поэтому только последовательный доступ к записям имеет смысл, имхо



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

Текущий архив: 2006.04.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
9-1127719524
max999
2005-09-26 11:25
2006.04.09
Вопрос по OpenGL


15-1142888315
xlsn
2006-03-20 23:58
2006.04.09
WebMoney


2-1142815153
BOB_KAMIKAZE
2006-03-20 03:39
2006.04.09
ПАНЕЛЬ ЗАДАЧ


1-1141745031
Кефир87
2006-03-07 18:23
2006.04.09
Минимизация НЕ главной формы


15-1142618636
DbGrid
2006-03-17 21:03
2006.04.09
нужна подсказка