Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - Microsoft Office Access 2007 столбец подстановки, выбор определенных значений.

Ответить
Настройки темы
2007 - Microsoft Office Access 2007 столбец подстановки, выбор определенных значений.

Забанен


Сообщения: 50
Благодарности: 0

Профиль | Цитировать


Здравствуйте уважаемые участники форума.

Давно не могу решить проблему с полем подстановки в Microsoft Office Access 2007

Есть три таблицы:

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

1. Интерн
2. Слушатель
3. Переподготовщик

2. "Учебный процесс", со столбцом подстановок "Специальность" с выбором значений из таблицы "Справочник специальностей", столбец предоставляет возможность выбора следующих специальностей: (порядковые номера поставил для информации, в записях они отсутствуют!)

1. УЭФ
2. ФТ
3. ФХ и ФГН
4. Фармация
5. КЛД
6. ФПы
7. Наркотика
8. ДЛО

3. "Справочник специальностей" содержит столбцы "КодСпециальности" и "Специальность", ее значения используются для столбца подстановок "Специальность" в таблице 2 ("Учебный процесс") для ввода специальности.

Нужно сделать так, чтобы при выборе контингента в столбце "Контингент" из первой таблицы "Контингент обучающихся" во второй таблице "Учебный процесс" в столбце "Специальность" можно было выбирать только специальности, которые соответствуют данному контингенту. Например:

1. Интерн (специальности с 1 по 3)
2. Слушатель (специальности с 1 по 8)
3. Переподготовщик (специальности с 1 по 4)

В Интернете я так и не смог найти внятную информацию по этому вопросу. Подскажите пожалуйста как решить проблему. Буду очень благодарен.

Отправлено: 10:49, 27-06-2011

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Надо сделать еще одну таблицу, в которой будут соответствия контингенту данных из других таблиц.
Например, так:
Структура таблицы:
Код: Выделить весь код
кодКонтингента   КодУчебногоПроцесса
1  5
1  6
Т.е. контингенту Интерн соответствуют учебные процессы КЛД и ФПы и т.д. Далее сделать запрос, который будет выбирать данные на основе выбранных значений и подставлять в поле.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:50, 28-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Забанен


Сообщения: 50
Благодарности: 0

Профиль | Цитировать


Изображения
Тип файла: jpg Справочник Контингент+Специальность.jpg
(216.3 Kb, 5 просмотров)
Тип файла: jpg Схема данных БД.jpg
(183.9 Kb, 6 просмотров)

Вроде бы уже близко к пониманию, но мне все еще не совсем понятны некоторые важные моменты:

1. В Вашей таблице какой формат должен быть у полей - счетчик или числовой?

2. Кроме того, хочу извиниться за то, что предоставил несколько неверную информацию. Вместо таблицы "Справочник специальностей" у меня создана другая таблица, "Справочник Контингент+Специальность", ее структура показана на вложенном файле. Следует ли вместо нее создать вот такие таблицы (я подозреваю что это и нужно для Вашей таблицы)

1.1. "Справочник контингента" содержащую столбцы "КодСпрКонтингента" и "Контингент"
1.2. "Справочник специальностей" содержащую столбцы "КодСпрСпециальности" и "Специальность"

3. С какими таблицами должны быть связи? И какой запрос должен быть создан для связи между таблицами? Кроме того я подозреваю, что в столбцах подстановки "Контингент" таблицы "Контингент обучающихся" и "Специальность" таблицы "Учебный процесс" при той структуре таблицы что Вы предложили будут выбираться лишь цифры, а нужно чтобы выбирался текст.

Во втором вложенном файле указана схема данных БД с указанием всех существующих на данный момент связей, названий таблиц и столбцов (В таблице "Учебный процесс" как раз выделен тот столбец, где предполагается создать столбец подстановок с выбором конкретного значения, соответствующего выбору в столбце "Контингент" таблицы "Контингент обучающихся"

Отправлено: 08:49, 28-06-2011 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


показываю пример "на пальцах"
Код: Выделить весь код
Таблица Пользователи
id name
1 Иванов Иван
2 Петров Петр
Код: Выделить весь код
Таблица Специальности
id name
1 ЭТФ
2 ФКТ
3 МУИ
4 ОППР
И наконец третья, связная таблица, в которой будут соответствия между ними:
Код: Выделить весь код
Таблица Соответствия
ПользовательИД    СпециальностьИД
1   1
1   3
Т.е. мы привязали в Иванову только ЭТФ и МУИ. Привязали образно. Для того, чтобы в списке выпадали только ЭТФ и МУИ, вместо всего списка, надо написать небольшой запросик, типа такого

Код: Выделить весь код
select Специальности.* from Специальности, Соответствия, Пользователи where 
специальности.id=соответствия.СпециальностьИД and 
Пользователи.id = соответствия.ПользовательИД    
and Пользователи.name='Иванов Иван'
Запрос выберет все данные из специальности, где пользователь равен Иванову. Вот как то так. По такой же аналогии и в твоем примере.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 09:43, 28-06-2011 | #4


Забанен


Сообщения: 50
Благодарности: 0

Профиль | Цитировать



Все равно мне непонятно. Твой запрос конечно понятен и работает, но мне нужна немного другая задача, а следовательно более сложный запрос. Попробую поставить задачу следующим образом:

Всего в пробной базе данных 5 таблиц:

1. Контингент, содержит столбцы:

Код: Выделить весь код
idКонтингента Контингент
1 Интерн
2 Слушатель
3 Переподготовщик
2. КонтингентОбучающихся, содержит столбцы:

Код: Выделить весь код
idКонтингОбуч ФИО Контингент (Контингент является столбцом подстановки из таблицы Контингент)
1 Иванов Иван Иванович Интерн
2 Петров Петр Петрович Слушатель
3. Специальности, содержит столбцы:

Код: Выделить весь код
idСпециальности Специальность
1 УЭФ
2 ФХ
3 ФТ и ФГН
4 Фармация
5 КЛД
6 ФАПы
7 Наркотика
8 ДЛО
4. Соответствия, содержит столбцы:

Код: Выделить весь код
КонтингентID СпециальностьID (для попытки вывода в запросе не числовых значений а текста столбец СпециальностьID является столбцом подстановки из таблицы Специальности)
1 УЭФ
1 ФТ
1 ФХ и ФГН
2 УЭФ
2 ФТ
2 ФТ и ФГН
2 Фармация
2 КЛД
2 ФАПы
2 Наркотика
2 ДЛО
3 УЭФ
3 ФТ
3 ФТ и ФГН
3 Фармация
5. УчебныйПроцесс, содержит столбцы:

Код: Выделить весь код
idУчПр ФИО (является столбцом подстановки из таблицы КонтингентОбучающихся) Специальность (здесь и предполагается создать поле подстановки для выбора значений, то есть запрос)
1 Иванов Иван Иванович
2 Петров Петр Петрович
Задачи стоят такие:

1. Выбирать значения в запросе не из таблицы Контингент, а из таблицы КонтингентОбучающихся из столбца Контингент;
2. Обеспечить привязку записей из таблицы КонтингентОбучающихся строго к записям таблицы УчебныйПроцесс, т.е. к полю ФИО, являющемуся столбцом подстановки из таблицы КонтингентОбучающихся для того, чтобы избежать ошибочного выполнения запроса когда поле ФИО таблицы УчебныйПроцесс ничего не содержит (или сделать поле Специальность неактивным пока не введены данные в поле ФИО);
3. Выбирать значения не фиксированные, как в твоем запросе, а только те, которые соответствуют выбранному в поле таблицы КонтингентОбучающихся столбца Контингент.

И прикреплю к этому сообщению с базой данных, содержащие жалкие попытки претворить в жизнь вышесказанное.

Отправлено: 09:21, 30-06-2011 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Возник наводящий вопрос. А данные будут вводиться непосредственно в режиме редактирования данных таблицы или же будет форма для заполнения? В зависимости от ответа и решения будут разные.

И почему в УчебномПроцессе и КонтингентеОбучающихся есть 2 одинаковых поля ФИО? Если во второй таблице подстановка, то и поле надо было назвать idФИО, во избежание путаницы

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:18, 01-07-2011 | #6


Забанен


Сообщения: 50
Благодарности: 0

Профиль | Цитировать


Подскажи пожалуйста 2 варианта решения проблемы (и с таблицей и с формой), воспользуюсь и тем и другим. Поля переименую по твоему совету.

Отправлено: 08:26, 01-07-2011 | #7


Забанен


Сообщения: 50
Благодарности: 0

Профиль | Цитировать


Ну что, так и нет ответа? Я так и знал. Это так называемый форум "компьютерной помощи" где сидят так называемые "специалисты", ни на что оказывается неспособные. Я задал конкретный вопрос и хочу получить на него ответ, неужели никто не знает решение проблемы? Проще наверно взять специальную литературу и разобраться самому. В темку заходили и просматривали ее 197 ламеров но ни один не дал ответа. Я уверен что после моего поста начнутся вопли, что типа почему мы должны тебе помогать, тратить свое время? Ответ: так вас силком никто на форум не тащит! Просто помощь нужна была срочно, а ее здесь оказывается нету, только на простые вопросы способны отвечать, которые за 5 минут решаются.

Отправлено: 21:42, 07-07-2011 | #8


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Призрак, а ты не думаешь, что тут сидят люди, которые тоже работают и отвечают только в свободное от работы время?
Цитата Призрак:
помощь нужна была срочно »
Цитата Призрак:
Давно не могу решить проблему »
Малость не вяжутся эти высказывания.
Я дал тебе направление, разложил по полочкам как и что делать, и что в итоге получил?
Цитата Призрак:
Подскажи пожалуйста 2 варианта решения проблемы (и с таблицей и с формой), воспользуюсь и тем и другим. »
Ты хотел не подсказок, а полного решения, а для полного решения надо разбирать твою структуру, писать скрипты, проверять работу, а это не пара минут. У меня сейчас нет свободного времени.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:01, 08-07-2011 | #9



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - Microsoft Office Access 2007 столбец подстановки, выбор определенных значений.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2007 - Microsoft Office Outlook 2007 Постановка задачи и выбор категории DailDiggers Microsoft Office (Word, Excel, Outlook и т.д.) 1 16-08-2010 14:09
2007 - Microsoft Access 2007 Candyman Microsoft Office (Word, Excel, Outlook и т.д.) 17 01-06-2010 15:51
Прочие БД - Процедура поиска в БД: Delphi 7 + Microsoft Office Access Tomplier Программирование и базы данных 1 09-03-2010 01:22
Прочие БД - Microsoft Office Access bomberman Программирование и базы данных 1 08-02-2010 01:45
Использование - Office 2007 This copy of Microsoft Office is not genuine Vitosha Лицензирование продуктов Microsoft 1 20-10-2009 19:51




 
Переход