|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.01.2008, 11:31 | #1 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
DBLookupComboBox - Страна - Регионы - Города
Здравствуйте!
У меня вопрос такого плана: Есть БД с таблицами Страны, Регионы, Города. мне нужно сделать так: Имеется 3 DBLookupComboBox. DBLookupComboBox1 := Таблица Страны (Имеет поля(столбцы):'Код','Страны'); DBLookupComboBox2 := Таблица Регионы (Имеет поля(столбцы): 'Код','Регионы','id_Страны' ); DBLookupComboBox3 := Таблица Города (Имеет поля(столбцы):'Код','Города','id_Ре гиона' ); Если в DBLookupComboBox1 выбираем Россия то в DBLookupComboBox2 должны отобразиться только Российские Регионы. Далее если DBLookupComboBox2 выбираем допустим Московскую область то в DBLookupComboBox3 должны отобразиться только Города московской области. Последний раз редактировалось IIpopoK; 03.01.2008 в 11:58. |
03.01.2008, 11:52 | #2 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
DBLookupCombobox2.KeyValue:=DBLooku pCombobox1.KeyValue-это если когда мы вибираем страны, то в DBLookupCombobox2 должны отобразиться регионы. По аналогии так же и городами. Если я правильно Вас понял.
|
03.01.2008, 11:57 | #3 | |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Цитата:
Объясни плиз. Вот скрин. Там и связи как должно быть Последний раз редактировалось IIpopoK; 03.01.2008 в 12:29. |
|
03.01.2008, 12:12 | #4 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
если я Вас правильно понял. в таблице Страны, значения поля код, должны соответствовать значению поля id_Страны из таблицы Регионы Эти поля должны быть связаны и в соответствующих свойствах KeyField компонентов DBLookupCombobox должны быть выбраны эти ключевые поля. А потом при событии DBLookupComboBox1Click написать то, что я предложил.
IIpopoK - только я сам такого не делал, поэтому могут возникнуть ошибки, т.к. я предлагаю Вам этот как вариант и если ошибки всеже возникнуть, то пиши - разберемся ! Последний раз редактировалось фЁдОр; 03.01.2008 в 12:19. |
03.01.2008, 12:49 | #5 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Да все правильно вы поняли! но то что вы предложили у меня не получилось, ошибок нет! просто как все изначально было так все и осталось!
|
03.01.2008, 13:36 | #6 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
У вас 3 таблиці, в первой таблице страна, вторая- регион, 3-города.
можно все делать запросами... Которіе віполняются при нажатии КомбоБокса... Устанавливаете DBLookupComboBox1.ListSource, DBLookupComboBox1.ListField, DBLookupComboBox1.listKey для всех Комбобоксов. Остальное ( DBLookupComboBox1.DataSource) Вам не нужно в данной ситуации, т.к ві используете Комбобокс только , как список. Количество Query может біть и один, и 3... Єто , как Вам удобнее.... Вам нужно делать віборку: типа такой: procedure TForm1.DBLookupComboBox1Click(Sende r: TObject); begin Query1.Close; Query1.SQL.Clear; Query1.SQL.add('select * from Регон where страна=: par_cont') ; // тут задаете страну после двоеточия не нужно пробела... Query1.Params[0].Value:=DBLookupComboBox1.Text; Query1.ExecSQL; Query1.open; end; тоесть при нажатии віполнится запрос из таблиці, где храняться данніе о регионе ,где значение страні , равно значению, которое ві вібрали в комбобоксе... потом при нажатии на второй Комбо сделайте запрос к таблице, где находятся города и сделаете віборку по региону....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Последний раз редактировалось Pitbull; 03.01.2008 в 13:43. |
03.01.2008, 13:40 | #7 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
скажите а Вы писали только то, что я предложил? В чем у Вас БД создана? Выложите сюда то, что написали и при каком событии.
|
03.01.2008, 13:47 | #8 | |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Цитата:
БД в Access. procedure TForm1.DBLookupComboBox1Click(Sende r: TObject); begin DBLookupCombobox2.KeyValue:=DBLooku pCombobox1.KeyValue end; |
|
03.01.2008, 14:32 | #9 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
я попробовал - работает:
Код:
ADOQuery2-подключена к городам. Если что не понятно - спрашивайте. |
03.01.2008, 16:12 | #10 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Чесно говоря я нифига не понял че к чему
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиграем в города? | Hallo | Свободное общение | 178 | 24.07.2011 23:35 |
Карта города | zzzzz | Общие вопросы Delphi | 16 | 15.06.2011 15:19 |
создание карты города | Коржик | Общие вопросы Delphi | 8 | 13.08.2009 04:54 |
Карта города | Vadimok | Общие вопросы Delphi | 4 | 26.08.2008 17:36 |
Карта города 2 | Archangel | Помощь студентам | 3 | 04.03.2007 05:19 |