Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с базой данных. Поиск, Поиск в нормализованной бд 
:(
    Опции темы
nyutka0104
  Дата 1.5.2014, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.5.2014

Репутация: нет
Всего: нет



Здравствуйте! Пишу на делфи7.
Такая проблема, есть главная таблица в БД, поля: Заказчик, дата заказа и там еще несколько, но это не суть. 
Есть вторая таблица - Заказчики, в ней содержится информация о заказчиках.

так вот в главной таблице в поле ЗАКАЗЧИК отображается идентификатор заказчика из второй таблицы "Заказчики". Надеюсь понятно описала. 
То есть это по правилам нормализации базы данных.

в DBGrid настроила чтобы вместо цифр в поле заказчик отображалось 3 поля: Фамилия имя и отчество.

Так вот, мне нужно сделать поиск по первой таблице по закащчикам.
То есть пользователь вводит фамилию заказчика и он должен вывести все заказы соответсвующие этой фамилии.

Но у меня получется только если вводить цифрами. Блин, нужна в общем помощь(( Если непонятно объяснила сообщите.(( Мучаюсь уже неделю.

Использую Adoconnection, ADOQUery, DataSoutce, DBGrid




Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  1234.jpg 84,15 Kb
PM MAIL   Вверх
Akella
Дата 1.5.2014, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



в верхней таблице нужно использовать lookup поле

ил в запросе нужно использовать left join для верхней таблицы

Добавлено @ 18:22
Что-то вроде
Код

select заказы.поле1, заказы.поле2, заказчики.ИМЯ
  from заказы
left join заказчики on заказы.код_заказчика = заказчики.код


Это сообщение отредактировал(а) Poseidon - 2.5.2014, 09:35
PM MAIL   Вверх
nyutka0104
Дата 2.5.2014, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.5.2014

Репутация: нет
Всего: нет



Цитата(Akella @ 1.5.2014,  18:20)
в верхней таблице нужно использовать lookup поле

ил в запросе нужно использовать left join для верхней таблицы

Добавлено @ 18:22
Что-то вроде
Код

select заказы.поле1, заказы.поле2, заказчики.ИМЯ
  from заказы
left join заказчики on заказы.код_заказчика = заказчики.код

Akella, спасибор большое!))) Очень помогли) всё работает)) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1005 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.