| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > Загадки MS Access: обновление поля со списком |
| Автор: Maanse 29.9.2010, 17:23 |
| Доброго времени суток всем! Столкнулся со следующей проблемой. Есть 4 таблицы в access: Люди (id, фио) Профессии (id, название) ПрофЛюди (id, человек, профессия) Зарплата (id, человек, профессия, З/П) Соответственно в таблицах "Люди" и "Профессии" указываются фио людей и названия различных профессий. В таблице ПрофЛюди происходит связка конкретного лица с рядом конкретных профессий, т.е.: 1 | Иванов Иван Иванович(id) | Слесарь(id) 2.| Иванов Иван Иванович(id) | Сантехник(id) 3.| Петров Петр Петрович(id) | Программист(id) Тоесть 1 человеку может соответствовать несколько записей с разными профессиями. Проблема обнаруживается в таблице "Зарплатта", где есть два столбца, заполняемые в виде "Поле со списком". По задумке при выброе в поле "человек" поле "профессия" в этой же таблице должно оставлять только те профессии которые привязаны к конкретному человеку, т.е. если выбран "Иванов Иван Иванович" должны отображаться только "Слесарь" и "Сантехник", однако достичь такого эффекта не получается, подлый Access выдает полный список профессий из таблицы "Люди-профессии". Надеюсь объяснил понятно В аттаче пример этой самой бд. |
| Автор: aleksh 29.9.2010, 17:34 |
| аттача нет проблема не совсем понятна, но есть подозрение, что ошибка в запросе выборки профессии |
| Автор: Akina 29.9.2010, 17:47 |
| А как отбираются записи для поля профессии? статический запрос? динамический запрос? динамическое обновление? прямое заполнение? наложение фильтра? как-то ещё? |
| Автор: Maanse 29.9.2010, 18:09 |
| Странно что не загрузился в аттач его вроде прилепил, вот щас еще попробую На всякий вот на айфолдере (13 КБ) [removed] Ошибки в запросе вроде нет, если бы это был vb я бы просто создал событие onChange для поля "Человек" и данные из него записал бы в //переменную// а в поле "Профессия" вставил бы запрос типа "SELECT Профессии.[Название профессии] FROM Профессии, ПрофЛюди WHERE Профессии.id=ПрофЛюди.Профессия AND ПрофЛюди.Человек=//переменная//;" |
| Автор: aleksh 29.9.2010, 19:49 |
| кошмар... а можно дизайн бд поменять? |
| Автор: Akina 29.9.2010, 20:12 |
| Так. В ТАБЛИЦЕ этого сделать нельзя. НИКАК. С данными работают через формы. В БД форм нет. Нет предмета для обсуждения. Тема закрыта. |