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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 13:40   #1
GinIvan
 
Регистрация: 11.09.2011
Сообщений: 3
По умолчанию Как решить проблему со связями?

Здравствуйте, уважаемые участники форума!

У меня проблема, пишу дипломный проект.
Итак, Есть программа, и есть База с двумя таблицами с простой связью.



Избыточность данных убрал.
Далее делал вот таким образом:

Т.е. при выборе в dblookupcombobox1 наименование блюда в edit1 записывается имя диеты, но у меня, получается, записывать только циферки этих диет, а как из таблицы "Диета" сами названия диет выдрать в эти едиты? dblookupcombobox1 подключен к Datasource1, который тот в свою очередб к adotable1.


Желательно не через запрос!
GinIvan вне форума Ответить с цитированием
Старый 13.03.2012, 15:54   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

а кроме запроса вам ничто и не поможет...
Код:
select Диета from диета where диета.key = (select key from блюдо where блюдо = [dblookupcombobox1.text]);
как то так... естественно позаменяете на оригинальные тназвания таблиц.. если что.. и поля... + вероятнее всего нужно будет взять названия в квадратные скобки если на русском все же.. + не забывайте текст в ковычки заносить 'текст'
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 13.03.2012, 20:40   #3
GinIvan
 
Регистрация: 11.09.2011
Сообщений: 3
По умолчанию

Получается на событие dblookupcombobox1.click я напишу примерно такое:

Код:
Adoquery1.sql.add('select Диета from диета where диета.key = (select key from блюдо where блюдо = '+dblookupcombobox1.text+' ');
а полученный результат в edit1.text как записать?
что то я учился 4 года и все забыл за 3 месяца отдыха...
GinIvan вне форума Ответить с цитированием
Старый 13.03.2012, 20:46   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

смотрите только что бы у вас имена совпадали таблицы в запросе... а результат в эдит что то на подобие такого...
Код:
Edit.Text :=AdoQuery.FldByName['Диета'].AsString);
по поводу FldByName у себя посмотрите... может как то по другому называться... + ковычки по обе стороны от dblookupcombobox1.text
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВПР не подходит. Как решить проблему? Vladislav_Dmitriev Microsoft Office Excel 5 23.01.2012 17:37
Синий экран смерти - Как решить эту проблему? gapeew91 Помощь студентам 2 21.01.2012 20:43
Как решить проблему двух серверов? Томбмастер Компьютерное железо 0 30.09.2009 21:49
Ко всем кто может хоть как-то подсказать как решить проблему porfonya Microsoft Office Access 1 26.05.2009 17:38
Как решить проблему с массивом? Dem80 Общие вопросы C/C++ 0 15.03.2009 17:05