Текущий архив: 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.47 MB
Время: 0.014 c