Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2 таблицы 
:(
    Опции темы
Devostator
Дата 13.5.2010, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть две таблицы:
user posted image
user posted image
Есть форма:
user posted image

Как сделать так, чтобы при введении идентификационного номера (id_StudentKey) и нажатии кнопки ОК, в ComboBox'е выводились название предметов (id_Predmet). Сравнение идет по id_PredmetKey двух таблиц.
Т.е. для Иванова должны выйти ТГП и Философия.
Заранее благодарен.

Это сообщение отредактировал(а) Devostator - 13.5.2010, 19:25
PM MAIL   Вверх
former
Дата 13.5.2010, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Было бы неплохо написать про компоненты доступа.
В любом случае читай про связку master-detail.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Devostator
Дата 13.5.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Компоненты АDOConnection, AdoQuery1, AdoQuery2, DataSourse1, DataSourse2, DBGrid1, DBGrid2. 
PM MAIL   Вверх
former
Дата 13.5.2010, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Цитата(Devostator @  13.5.2010,  19:44 Найти цитируемый пост)
Компоненты АDOConnection, AdoQuery1, AdoQuery2, DataSourse1, DataSourse2, DBGrid1, DBGrid2.  

 smile ADO было бы достаточно.

Пусть AdoQuery1,DataSourse1 - PredmetFirst и AdoQuery2,DataSourse2 - StudentFirst.
У AdoQuery2 указываешь в качестве DataSource - DataSourse1 . Настраиваешь master-detail. Вместо ComboBox используй LookupComboBox. Его привяжи к DataSourse2. Для поиска используй Locate или параметры запроса. Все.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Devostator
Дата 13.5.2010, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не осилил. Что такое master-detail? Что за Locate?
 У меня вот так получилось, нахимичил  smile :
if EdID.Text<>'' then
begin
Query1.SQL.Clear;
Query1.SQL.Add('SELECT id_StudentFio, id_StudentGroup, id_PredmetKey FROM StudentFirst WHERE id_StudentKey='+EdID.Text);
Query1.Active:=true;
Query2.SQL.Clear;
Query2.SQL.Add('SELECT id_Predmet, id_PredmetActive FROM PredmetiFirst Where id_PredmetKey='+Query1.FieldByName('id_PredmetKey').AsString);
Query2.Active:=true;

 PredmetBox.Clear;
 Query2.First;
  while not Query2.eof do
  begin
  if Query2.FieldByName('id_PredmetActive').AsInteger=0 then
  begin
      PredmetBox.Items.Add(Query2.FieldByName('id_Predmet').value);
  end;
      Query2.Next;
  end;
lblFio.Caption:=Query1.FieldByName('id_StudentFio').AsString;
lblGroup.Caption:=(Query1.FieldByName('id_StudentGroup').AsString)+' группа';
end;
end;

Добавлено @ 23:02
user posted image


Я тут еще сделал проверку на id_PredmetActive (сдавал ли он этот предмет или еще не сдавал).

Это сообщение отредактировал(а) Devostator - 13.5.2010, 23:04
PM MAIL   Вверх
former
Дата 14.5.2010, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Цитата(Devostator @  13.5.2010,  23:00 Найти цитируемый пост)
Не осилил. Что такое master-detail? Что за Locate?

Что именно? Ты хоть одну книгу открывал? Это основы основ!


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 14.5.2010, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



на лекции надо было ходить
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.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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