Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.10.2014, 23:38   #1
Lavilas
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 10
По умолчанию Прошу помощи Combobox и Таблицы

Приветствую всех знающих. Пишу программу, прошу помощи в таком вопросе:

Есть База данных. В ней три таблицы.

Таблица 1: id, Название, Форма, Температура
Таблица 2: id, Название, Форма, Макс.Температуропоглащение
Таблица 3: id, Название, Форма

На форме есть 3 ComboBox'a в которых выводится только поле 'название' из каждой таблицы.
Есть так же ADOTable, DataSource

Надобно что бы: при выборе в 3х ComboBox'ах названий, нужно сравнить соответствующие значения в полях "Форма" этих названий, если формы совпадают, то вывести label.Caption:=('Совпадают') и соответственно если не совпадают label.Caption:=('не совпадают').

прошу помощи в решении данного вопроса.
Lavilas вне форума
Старый 17.10.2014, 07:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нескромный вопрос: Зачем в таблицах избыточность сделана? Что такое "избыточность" понимаешь?
I'm learning to live...
Stilet вне форума
Старый 17.10.2014, 10:38   #3
Lavilas
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 10
По умолчанию

Да, понимаю. Так как база не большая, то это будет не критично и скорость доступа к базе не изменится. Нормализация базы будет несколько позже. Пока задача такая стоит.
Lavilas вне форума
Старый 17.10.2014, 10:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так ладно. Не буду обеждать в обратном, будь по твоему.
По теме:
Код:
 ComboBox.AddItem(ADOTable.FieldByName('Название').Asstring,TObject(ADOTable.FieldByName('id').AsInteger));
Это позволит добавить в комбик ID связав его с наименованием.
Соответственно потом:
Код:
with ComboBox1 do begin
 if ItemIndex<>-1 then begin
  ADOTable.Locate('id',integer(items.Objects[ItemIndex]),[]);
  if ADOTable.FieldsByName('Форма')=Text then 
   Данные в комбике найдены в поле Форма.
 end;
end;
Примерно так короче говоря.
I'm learning to live...
Stilet вне форума
Старый 17.10.2014, 13:24   #5
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Цитата:
ComboBox.AddItem(ADOTable.FieldByNa me('Название').Asstring,TObject(ADO Table.FieldByName('id').AsInteger)) ;
Вот я тебя и нашёл)
Вот кто не знающих такой ерунде учит)))
Не делай так ни когда) НИКОГДА!!!!)

Ну по базе замечание к которому стоит прислушатся!! сделай ешё одну табилцу формы а в эти твои 3 табылицы записывай адишник формы

по вопросу, задучу можн орешить в дизайнере!
Кидаешь на форму 3 дата сета(подключаеш ьих к коннекшену или к кверику, не знаю как там у тебя устроена и чо за база) дальше кидаешь 3 DbLoockUpCombobox настраиваешь их и выбрав в одном из них указател ьв датасете встанет на выбраную запись тебе отсанится только считать их и сравнить

Table1.FieldBuname('').asstring = Table2.FieldBuname('').asstring
Dozent вне форума
Старый 17.10.2014, 13:30   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Вот я тебя и нашёл)
Вот кто не знающих такой ерунде учит)))
Не делай так ни когда) НИКОГДА!!!!)
Вот сильно интересно, что такого ерундового в таком приеме? Вполне себе прием в определенных ситуациях, даже очень и вообще ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Stilet; 17.10.2014 в 13:35.
Аватар вне форума
Старый 17.10.2014, 13:33   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не делай так ни когда) НИКОГДА!!!!)
Можт тогда просветишь почему так нельзя делать и как нужно?
Цитата:
дальше кидаешь 3 DbLoockUpCombobox настраиваешь их
Боюсь что в данном случае это как раз не даст нужного реззультата.
I'm learning to live...
Stilet вне форума
Старый 21.10.2014, 19:25   #8
Lavilas
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 10
По умолчанию

Спасибо за помощь. С 3 DbLoockUpCombobox подошло лучше.
Появился ещё один вопрос.
Есть 5 combobox'ов. Значения от 0, до 4х.

1 combobox считываем значение и умножаем на 2
2 combobox считываем значение и умножаем на 25
3 combobox считываем значение и умножаем на 3
4 combobox считываем значение и умножаем на 7
5 combobox считываем значение и умножаем на 15

Как это можно сделать менее грамоздко, и чтоб при выборе значений в Combobox'e, автоматически менялся результат в Label'e ?
Lavilas вне форума
Старый 21.10.2014, 19:48   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Что такое "избыточность" понимаешь?
А ты, понимаешь?
Цитата:
Можт тогда просветишь почему так нельзя делать и как нужно
Stilet, харэ выживаться. Нас, хохлов, на вятке тоже не более пирогами подчуют.
Буквально вчера-сь один мой корешь начал - Я, бла-бла-бла. Да, я этих хохлов, на первом-ба столбу вешал....
Спрашиваю у него: верёвка есть?
Он: Чего?
Ну, впереди, первый столб, а я - этнический хохол...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 21.10.2014 в 19:59.
Smitt&Wesson вне форума
Старый 21.10.2014, 20:55   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Смитт. Завязывай.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи(( Fransuz_F Общие вопросы Delphi 3 25.02.2014 10:24
Прошу помощи. Brian Lee Jones Свободное общение 0 19.06.2008 00:21
Прошу помощи! Oksana Общие вопросы Delphi 6 11.02.2007 18:36