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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2010, 11:20   #1
aimk0
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 35
По умолчанию Query и подставные поля

Есть таблица с полями KI, HIS, CEH, naimhdse, primen. Поля naimhdse и primen - подставные.
Пишу запрос
Код:
dm.qr_first.Close;
dm.qr_first.SQL.Clear;
dm.qr_first.SQL.Add('select KI, HIS, DSE, CEH, naimhdse, primen from first order by KI, ceh ');
dm.qr_first.Open;
и в результате работы программы выдает ошибку
Цитата:
invalid field name. naimhdse
или тоже самое с полем primen(если из запроса удалить naimhdse).
Т.е. в запросах нельзя указывать подставные поля?
Неужели придется добавлять все записи из таблицы с подставными полями в новую таблицу, и уже к новой писать запрос?
aimk0 вне форума Ответить с цитированием
Старый 21.10.2010, 11:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что такое "Подставные поля"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.10.2010, 11:58   #3
aimk0
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 35
По умолчанию

Это почти тоже самое, что и вычисляемые поля. Берем компонент Table, щелкаем 2 раза на него, появляется Field Editor, добавляем в него New Field, в параметрах нового поля выбираем Lookup (подставное поле), и задаем условие отбора записей. Т.е. в искомую таблицу добавляется поле из другой таблицы, содержащее записи, соответствующие условиям заданным в Lookup Definition (т.е. при совпадении ключей).
aimk0 вне форума Ответить с цитированием
Старый 21.10.2010, 12:30   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

По Lookup-полям нельзя производить выборку запросом.
Подумай, что ты пишешь:
Код:
select naimhdse from first
Разве в БД у тебя есть поле naimhdse?

Кстати, не стоит называть таблицу словом first. Подобные слова могут быть зарезервированы и возможны проблемы...

Stilet, я тоже не догадался, что "Подставные поля" - это Lookup :=))
_SERGEYX_ вне форума Ответить с цитированием
Старый 21.10.2010, 12:49   #5
aimk0
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 35
По умолчанию

Выражение "Подставные поля" видел в книге Архангельского
aimk0 вне форума Ответить с цитированием
Старый 21.10.2010, 13:42   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Выражение "Подставные поля" видел в книге Архангельского
Поаккуратнее с этим термином - он не ко всем СУБД в таком виде применяется.

Теперь по теме: по-моему lookup поля так изменять нельзя... Я в своем время от них отказался в пользу SQL с инструкцией LEFT JOIN. Это для получения, а для изменения через INSERT-SQL
В общем с компонентами поаккуратнее - чего и тебе советую.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.10.2010, 14:36   #7
aimk0
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 35
По умолчанию

Проблема решилась следующим образом

Код:
dm.qr_first.Close;
dm.qr_first.SQL.Clear;
dm.qr_first.SQL.Add('select F.KI, F.HIS, F.DSE, F.CEH, SH.hdse, R.primen');
dm.qr_first.SQL.Add('from First.dbf F, SH04031.dbf SH, Razuz.dbf R');
dm.qr_first.SQL.Add('where (SH.dse=F.dse) and (R.dse=F.dse)' );
dm.qr_first.SQL.Add('order by KI, CEH');
dm.qr_first.Open;
aimk0 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Измененние цвета фона поля (поля со списком) при редактировании TimRus Microsoft Office Access 2 17.05.2010 21:56
получить данные поля исходя из lookup-поля malayka Помощь студентам 0 21.04.2010 21:19
как получить значение поля грид на основе значения другого lookUp поля malayka БД в Delphi 0 21.04.2010 19:06
Выявление одинаковости значений поля в одной талице по значению поля в другой nikmay SQL, базы данных 4 13.08.2009 12:51
Индексные поля DBase в Query Nicolson БД в Delphi 3 24.03.2009 14:17