| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > 2 таблицы |
| Автор: Devostator 13.5.2010, 19:22 |
| Есть две таблицы: http://ipicture.ru/ http://ipicture.ru/ Есть форма: http://ipicture.ru/ Как сделать так, чтобы при введении идентификационного номера (id_StudentKey) и нажатии кнопки ОК, в ComboBox'е выводились название предметов (id_Predmet). Сравнение идет по id_PredmetKey двух таблиц. Т.е. для Иванова должны выйти ТГП и Философия. Заранее благодарен. |
| Автор: former 13.5.2010, 19:39 |
| Было бы неплохо написать про компоненты доступа. В любом случае читай про связку master-detail. |
| Автор: Devostator 13.5.2010, 19:44 |
| Компоненты АDOConnection, AdoQuery1, AdoQuery2, DataSourse1, DataSourse2, DBGrid1, DBGrid2. |
| Автор: Devostator 13.5.2010, 23:00 |
| Не осилил. Что такое master-detail? Что за Locate? У меня вот так получилось, нахимичил 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 http://ipicture.ru/ Я тут еще сделал проверку на id_PredmetActive (сдавал ли он этот предмет или еще не сдавал). |
| Автор: former 14.5.2010, 11:04 |
Что именно? Ты хоть одну книгу открывал? Это основы основ! |
| Автор: Akella 14.5.2010, 23:14 |
| на лекции надо было ходить |