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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2009, 05:55   #1
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию Объединение нескольких таблиц в одну (по определенному параметру)

Привет всем. Есть база данных на Access связанная в делфи через ADOConnection (ADOTable, DataSource, DBGrid). В акцесе есть таблицы 1 курс, 2 курс, 3 курс, 4 курс с полями
[ Предмет | Часы | Группа | Кафедра | Специальности ]
Поля кафедры и специальности связаны с другими отдельными таблицами (Кафедры, Специальности) по полям id_specialnosti и id_kafedri.

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

[Предмет | Группа 1 | Группа 2 | Всего ]

Пример 1.jpg
iona вне форума Ответить с цитированием
Старый 18.06.2009, 09:08   #2
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

прежде всего, вам надо заменить ADOTable на ADOQuery и с помощью уже запроса, выберите данные, которые нужны по определенному условию
фЁдОр вне форума Ответить с цитированием
Старый 18.06.2009, 09:26   #3
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию

Хм, ну если бы я знала SQL, то тогда бы и не просила тут помощи... Хнык.. Вся загвоздка в том что мм... былоб проще если просто вывести нужные данные, тогда бы было:
Код:
SELECT id_predmeti, id_specialnost, id_grupp, [1 курс], [2 курс], [3 курс], [4 курс]
FROM [Учебный план]
where  id_specialnost=:specialnost
А так, необходимо что бы группы, каким то образом очутиличь в шапке... я хз как ((((((
iona вне форума Ответить с цитированием
Старый 18.06.2009, 09:33   #4
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию

Это запрос с учебного плана... он делается по специальности.... и шапка у него не меняется... поля такие:
[Предмет | 1 курс | 2 курс| 3 курс | 4 курс ].

Получается, как вы и сказали с помощью запроса выбираю нужные данные, но как построить такого рода таблицу..(см. рис. Таблица : Смета часов).. что бы группы записывались в шапку... Такое можно воплотить????
iona вне форума Ответить с цитированием
Старый 18.06.2009, 09:43   #5
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

хорошо, давайте еще раз...
Цитата:
Поля кафедры и специальности связаны с другими отдельными таблицами (Кафедры, Специальности) по полям id_specialnosti и id_kafedri.
как называются эти другие таблицы? ну пусть она к примеру будет называться kafedri
тогда, что бы выбрать данные скажем с таблиц 1 курс(лучше замените название на 1_kurs), надо использовать такой запрос:
Код:
select * 
from kafedri, 1_kurs
where kafedri.id_kafedri=1_kurs.id_kafedri
это несложно...
вот здесь http://programmersforum.ru/showthread.php?t=1589 вы можете скачать справочник по SQL, что бы вам стало более понятно, что я имел ввиду. там если что и читать немного надо

P.S.: тогда не так
приведите еще раз название таблиц и содержимое полей. если в шапке должно быть 1 курс | 2 курс| 3 курс | 4 курс, то тогда это названия полей, а не таблиц

Последний раз редактировалось фЁдОр; 18.06.2009 в 09:48. Причина: исправление с пополнением
фЁдОр вне форума Ответить с цитированием
Старый 18.06.2009, 09:48   #6
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию

Как я понимаю, этим запросом, он просто выводит данные по первому курсу, определенной кафедры. И будут поля .. ммм...
[Наименование предмета 1 курс 2 курс и тд...] как в учебном плане, а в том то и дело.. что , как заменить шапу, на наименование групп (Всех групп, которые относятся к этой кафедре).
iona вне форума Ответить с цитированием
Старый 18.06.2009, 09:57   #7
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию

М.. вроде таблицу нарисовала понятную )))))))))))))))))
Вопщем, Есть таблицы 1, 2, 3, 4 курс (они так и называются), в них поля

[Предмет | Часы | Группа | Кафедра | Специальность] (как на рисунке)

У этих таблиц, шапки одинаковые, разница только в отношниях по курсам (тоесть ккакие группы на каком курсе).

Воть.

Есть таблица Смета часов, в ней надо сделать так, что бы выбрав кафедру, отображались поля

[Предмет | Группа 1 | Группа 2 ]

Группа1 и Группа 2 - это названия групп, которые относятся к выбранной кафедре. Вот загвозка в том, как запихать эти названия (названия храняться в таблицах 1 курс, 2, 3, 4....) в шапку таблицы (как показано на кыртинке Таблица: Смета часов)
iona вне форума Ответить с цитированием
Старый 18.06.2009, 10:16   #8
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
это несложно...
вот здесь http://programmersforum.ru/showthread.php?t=1589 вы можете скачать справочник по SQL, что бы вам стало более понятно, что я имел ввиду. там если что и читать немного надо
Да читала я, "немного", не нашла такого извращения Может эт зачачо невоплотимо???
iona вне форума Ответить с цитированием
Старый 18.06.2009, 14:08   #9
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

iona,теперь я понял, что нужно сделать, когда-то такое уже обсуждалось... но скажите, вам было поручено именно так сделать? или же можно все же переделать таблицу? если таблицу Смета часов переделать скажем с полями Предмет| Группа| Часы... то получится тоже весьма неплохо и смысл совсем не потеряется данных. ну а если все же надо сделать так, как сказано, то тогда надо поднимать литературу
фЁдОр вне форума Ответить с цитированием
Старый 18.06.2009, 15:44   #10
iona
Пользователь
 
Регистрация: 18.06.2009
Сообщений: 10
По умолчанию

В том то и дело что надо сделать именно так. А вот смету часов уже неделю мучаю %). Вопщем Смета часов делается по кафедре. И если сделать [Предмет | Группа | Часы ...] то получится что предметы будут много раз повторятся. К определенной кафедре относятся же много групп. Гы .. я сама долго понимала что от меня хотят, пока не взяла бумагу и карандаш, и все это дело не нарисовала. А попросил меня это дело сообразить директор уч. заведения, хде я щас заканчиваю учебу, прогу уже всю написала, осталось только с сметой разобраться, вот в отчаянии уже на форум полезла.. Хнык... Может исходник выложить о_О )))
iona вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текст из нескольких ячеек в одну Tirendus Microsoft Office Excel 10 20.01.2016 16:45
Объединение нескольких массивов по порядку. nec117 Общие вопросы C/C++ 4 16.05.2009 17:32
Объединение двух таблиц jekis2506 Microsoft Office Excel 5 15.04.2009 08:34
Сведение нескольких таблиц в одну Sega Microsoft Office Excel 3 05.08.2008 15:21
объединение таблиц по условию rexec Microsoft Office Excel 2 25.05.2008 15:42