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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 18:11   #1
SEMEon
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 21
По умолчанию Помогите с запросом в Access

Есть две связанные таблицы:
1.*ID_специальности (К), Наименование_специальности.
2.ID_студентов (К), *ID_специальности, ФИО, Дата_зачисления, Дата_отчисления, Дата_выпуска.
Вопрос в то как в Access сделать Запрос чтобы выводилась таблица за последние 3 года с текущей даты.
Не знаю, возможно еще нужно будет добавить какие не будь поля в таблицу 2. Студент учится всего 1 год.
Вот пример, что должно выводится:http://zonagrafiki.narod.ru/SpryAssets/Untitled-1.jpg
SEMEon вне форума Ответить с цитированием
Старый 06.01.2010, 19:26   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте SEMEon.
"Вот пример..." - это не пример а изображение, поверьте мало желающих самостоятельно создавать необходимую Вам демонстрационную конструкцию. Для увеличения вероятности оказания помощи, выкладывайте архив с заранее подготовленным файлом БД (подготовка подразумевает - избавление от переизбыточных данных, избавление от OLE объектов и сжатие средствами MS Access) непосредственно на странице с вопросом. Сторонние сайты не всем доступны и нет желания вместе с Вашим "картинкой" получать "бесплатные банеры" с этих сайтов.
Евгений.
P.S. форум не "машина ответов", его участники люди, и выкладывая вопрос не забывайте обращаться к тем кому Вы его адресуете, не знаете как - можно просто поздоровавшись.
Teslenko_EA вне форума Ответить с цитированием
Старый 07.01.2010, 18:40   #3
SEMEon
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 21
По умолчанию

Извините за невежливость, исправлюсь. Здравствуйте, а картинка на другом сайте потому, что сразу не разобрался как выкладывать. Вот подготовленная БД
Вложения
Тип файла: rar БД.rar (65.1 Кб, 17 просмотров)
SEMEon вне форума Ответить с цитированием
Старый 07.01.2010, 23:12   #4
VistaSV30
Форумчанин
 
Аватар для VistaSV30
 
Регистрация: 08.12.2009
Сообщений: 136
По умолчанию

Здравствуйте SEMEon.
Нужно написать перекрестный запрос.
В вашей базе не хватает данных, то я бы попробовал.
VistaSV30 вне форума Ответить с цитированием
Старый 08.01.2010, 00:20   #5
SEMEon
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 21
По умолчанию

Можно поподробнее, какие данные нужно добавить?
SEMEon вне форума Ответить с цитированием
Старый 08.01.2010, 02:36   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте SEMEon.
как говорил VistaSV30, данных для создания конструкции запроса для отображения "как на картинке" - данных мало. Но в принципе SQL конструкция может выглядеть подобным образом
Код:
TRANSFORM Count(Студенты.ID_студентов) AS cnt
SELECT Специальность.Наименование_специальности
FROM Специальность INNER JOIN Студенты ON Специальность.ID_специальности = Студенты.ID_специальности
WHERE (((Year([Дата_зачисления])) Between 2007 And 2009))
GROUP BY Специальность.Наименование_специальности
PIVOT Year([Дата_зачисления])
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 08.01.2010, 10:22   #7
SEMEon
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 21
По умолчанию

а можно так сделать зарос чтобы он всегда показывал с текущего года т.е. если 2010 то отобразятся 2007/2008 2008/2009 2009/2010?
SEMEon вне форума Ответить с цитированием
Старый 08.01.2010, 15:16   #8
SEMEon
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 21
По умолчанию

Евгений (Teslenko_EA) пожалуйста объясните какие еще нужны данные в БД
SEMEon вне форума Ответить с цитированием
Старый 08.01.2010, 20:58   #9
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

SEMEon,
"...показывал с текущего года..." - всё зависит от условий отбора, если Вы хотите видеть все данные удалите строку:
WHERE Year([Дата_зачисления]) Between 2007 And 2009
если данные за три последних года от текущей даты, измените её:
WHERE Year([Дата_зачисления]) Between Year(Date()) - 3 And Year(Date())
".. какие еще нужны данные..." - внимательно посмотрите на свою "картинку" и ответьте себе, откуда берется информация "Семестр 1", "Семестр 2", где она хранится в Ваших таблицах(?).
в учебном заведении где Вы учитесь очевидно грамматика не на первом месте, если Вам не указали что используемое в Вашей конструкции имя поля ("Отчиство") содержит опечатку.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 08.01.2010, 21:36   #10
SEMEon
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 21
По умолчанию

Спасибо за разжевывание Евгений, а опечатку я исправил Попробую пересмотреть БД и внести семестры
SEMEon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с запросом euronymous SQL, базы данных 12 18.03.2012 05:24
Помогите с запросом BARNEY БД в Delphi 29 11.09.2009 16:51
Помогите с запросом NATAHA Microsoft Office Access 2 08.05.2009 15:17
Помогите с запросом Juries Microsoft Office Access 0 12.04.2009 00:29
Помогите с запросом Айвенго Microsoft Office Access 3 08.05.2008 09:07