![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.10.2008
Сообщений: 3
|
![]()
Здравствуйте уважаемые программисты. Я ещё совсем новичок в работе с БД на дельфи, и столкнулся с такой проблемой:
задействованные лица: т1 КодЗаказчика (ключ) Заказчик т2 КодДетали (ключ) КодЗаказчика Наименование ... на form1 имеется TDBLookupComboBox, который берет данные из таблицы [т1.Заказчик] на form2 имеется TDBGrid в котором посредством запроса нужно отобразить только те записи, у которых значение поля [т2.КодЗаказчика] соответствовало бы выбранному в комбобоксе. ----- Запрос: SELECT т2.КодЗаказчика, т2.Наименование FROM тДетали WHERE (тДетали.КодЗаказчика=???); попробовал подставить строку: тДетали.КодЗаказчика=form1.DBLookup ComboBox1.KeyValue пишет, что данный параметр не имеет значения по умолчанию... Подскажите пожалуйста, как правильно построить строку "WHERE". Очень прошу! |
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
???:=(select КодЗаказчика from t1 where Заказчик='+QuotedStr(DBLookupComboB ox1.Text));
Коли занялись SQL запросами, нужно иметь под рукой хоть какое руководство по SQL. ![]() Последний раз редактировалось mihali4; 27.10.2008 в 10:22. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 22.10.2008
Сообщений: 3
|
![]()
Спасибо огромное за внимание
![]() мм.. мне ужасно стыдно за следующий вопрос, но надеюсь Вы мне поясните: эту конструкцию я вношу в "WHERE"? ... WHERE (select КодЗаказчика from t1 where Заказчик='+QuotedStr(DBLookupComboB ox1.Text)); а вот это место: ='+QuotedStr... я не знаком с этой функцией ![]() Я так понимаю посредством этого подзапроса мы извлекаем из первой таблицы значение поля "КодЗаказчика" по отображенному значению комбобокса? |
![]() |
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
1. Да. Это называется "вложенный запрос". Только я же вам обозначил, что эта строка - вместо ваших "???". А вы что написали?
2. Странно... Функция из SysUtils... У вас что, SysUtils не подключен? Она делает очень простую, но иногда полезную вещь - заключает в апострофы строку-аргумент. 3. Верно понимаете. Последний раз редактировалось mihali4; 27.10.2008 в 18:55. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 22.10.2008
Сообщений: 3
|
![]()
Спасибо за ответ
![]() SysUtils подключен, и сама функция работает, если допустим просто присвоить метке значение: label.Caption:=QuotedStr(DBLookupCo mboBox1.Text) -> выводит заключенное в апострофы значение. Запрос работает (спасибо ![]() Вот полный текст запроса: Код:
![]() p.s. а как на форуме в форму быстрого ответа ввести имя, к кому обращаешься? (куда кликнуть надо?) Спасибо. Последний раз редактировалось Gringo; 28.10.2008 в 09:04. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ADO, выборка из таблицы. | Roof | БД в Delphi | 2 | 09.07.2008 18:51 |
Установка указателя в одной таблице по значению из другой | Avalonix | БД в Delphi | 1 | 31.05.2008 17:20 |
Выборка из таблицы | ivp88 | БД в Delphi | 5 | 12.01.2008 14:36 |
Поиск в базе по значению в Edit | Arteom | БД в Delphi | 2 | 19.10.2007 22:23 |