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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
1-1140539314
Валерий
2006-02-21 19:28
2006.04.09
Из CBuilder в Delphi


1-1141316179
Игорь Степанов
2006-03-02 19:16
2006.04.09
Программное перемещение курсора мыши по ячейкам StringGrid


8-1131008435
Tristania
2005-11-03 12:00
2006.04.09
Работа с экраном напрямую


15-1142630130
ProGmaer
2006-03-18 00:15
2006.04.09
ADSL и игры


9-1126292049
Ford
2005-09-09 22:54
2006.04.09
RPG





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский