![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
![]()
Есть БД по музыкальным произведениям, в ней таблица со списком композиторов и их датами рождения и смерти.
Даты рождения и смерти находятся в полях с текстовым значением (понимаю, возможно не верно, но у одного композитора стоит просто год рождения/смерти "1990 год", у второго известны и день и месяц и год когда он родился и умер "16 ноября 1974 года", поэтому и использовалось текстовое поле, ибо с Дата/время такое не прокатило), из всей этой массы живых и мертвых композиторов надо выбрать "Самых молодых", т.е. создать запрос на их выборку. Возможно ли такое сделать с текстовым полем? Если да, то подскажите как? А то не хочется оставлять только года рождения/смерти ![]() P.S. Желательно для Access 2007 |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
Функцию нужно делать, которая попытается "разобраться" с этими записями. Прежде чем ее делать, нужно систематизировать данные по группам\способу ввода.
Да и неужели так много композиторов, что невозможно исправить ошибки вручную и привести значения этого поля к соответствующему типу? ![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
![]()
Ууу... слова "Функция" не для моей блондинистой головы
![]() Композиторов немного, просто хотелось "как по красивее", а получилось как всегда :D Хотя, стоп, нету ни какой функции типо что бы искала в записи значение ввиде "0000" и выводило ее max значение? (Эт вопрос засыпающей блондинки, ответьте просто да/нет) |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
![]()
Так-с, перенесла их года рождения в числовое значение...
Из таблицы выбрала поля: ФИО (текст, ключевое) и Дата рождения (число), Третья графа с датой смерти, думаю, не нужна. Под полем "Дата рождения" в условии отбора пишу "Max" - на меня ругается акцесс ошибкой "Несоответствие типов данных". Пробовала вычисляемое поле: Год Рождения:Max([Композитор]![Дата рождения]). Акцесс сматерился на поле "ФИО", якобы оно не включается в часть статистической функции или группы. Вопрос, что я не так делаю??? Последний раз редактировалось Tanilita; 18.11.2009 в 07:54. |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
а вообще, мне кажется с MAX вы не в ту сторону копаете. имхо такой запрос решает Вашу задачу: Код:
p.s. запрос можно ввести, если в окошке ввода запроса нажать правой кнопкой мышки и выбрать в выпавшем меню "Режим SQL" и там в окошке редактора ввести текст запроса... |
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
![]() Цитата:
P.S. У меня код только сортировал их по убыванию... Последний раз редактировалось Tanilita; 18.11.2009 в 13:56. |
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Tanilita.
для получения списка "самых молодых" композиторов нужно применить конструкцию с вложеным запросом в условии отбора: SELECT * FROM Композитор WHERE [Дата рождения]=(SELECT Max([Дата рождения]) FROM Композитор) Евгений. |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Tanilita.
где Вы нашли "дополнительное поле"(?), эта конструкция запроса не создает ничего "дополнительного". "разобраться куда это писать ..." можно переклюючив в меню Вид построитель запросов из режима "Конструктор" на "Режим SQL", туда и помещается тело (текст) SQL конструкции. Возможно Вы это знали и была другая причин вопроса, но влюбомм случае важен не способ получения, а сам результат, не так ли. ![]() Евгений. |
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
![]() Цитата:
Я просто тормознула, я колонки переименовала у себя в таблице (да, я ступила, бывает ![]() Тему можно считать закрытой... Цель достигнута... Большое спасибо Евгению. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запрос на выборку | МаришаГ | Microsoft Office Access | 5 | 21.08.2009 23:46 |
Запрос на выборку + сумма | EugeneIsmatulin | SQL, базы данных | 3 | 16.06.2009 15:08 |
простейший запрос на выборку | kate158 | БД в Delphi | 2 | 13.05.2009 14:33 |
Запрос на выборку | Ruska882009 | Microsoft Office Access | 2 | 26.02.2009 20:39 |
в БД есть запрос 6 (на выборку) | s1a9s8h6a | БД в Delphi | 12 | 02.01.2009 00:48 |