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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2010, 12:42   #1
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию Подстановка

Доброго времени суток.
Появилась проблема: есть таблицы "Работник" и "Бригада". В "Бригаде" есть атрибуты "Начальник бригады" и "Код_бригады", в таблице "Работник" есть "Код_работника", "ФИО работника", "Код_бригады". Необходимо сделать подстановку в атрибут "Начальник бригады", значения берутся из таблицы "Работник". Но тут проблема - при обычном использовании Мастера подстановок начальником бригады может стать работник совершенно другой бригады. Следовательно нужно ввести ограничение целостности по Коду_бригады. В качестве источника строк я использовал:
Код:
SELECT Работник.Код_Работника, Работник.ФИО 
FROM Работник, Бригада
WHERE Работник.Код_бригады=Бригада.Код_бригады;
Не работает - по прежнему можно выбрать из списка любого работника.

Последний раз редактировалось Ael; 04.11.2010 в 14:29.
Ael вне форума Ответить с цитированием
Старый 04.11.2010, 17:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Не работает - по прежнему можно выбрать из списка любого работника.
ну и правильно. Тут же нет ограничения по бригаде...


а чуток поконкретнее - каким образом Вы хотите задавать ограничение? Это можно делать, например, после того, как выбрали бригаду, начальника которой хотят назначить. Или, после того, как выбрали из списка работника, можно проверить, совпадает ли его бригада с той, в которую его выбрали, как начальника.
Давайте Ваш код, тогда можно будет подсказать Вам..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.11.2010, 19:03   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ael
Сделай таблицу в которой будет вестись список начальников Например: Код Работника, Код бригады.
Тогда
Код:
SELECT Работник.Код_Работника, Работник.ФИО 
FROM Работник, Бригада
join
 Начальники on (
        Начальники.Код_бригады=Бригада.Код_бригады 
  and
        Начальники.Код_Работника=Работник.Код_Работника
)
WHERE 
      (Работник.Код_бригады=Бригада.Код_бригады);
Ну в общем примерно так... Списком начальников отсекать простых рабочих
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.11.2010, 19:17   #4
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию

А WHERE Работник.Код_бригады=Бригада.Код_бр игады; не является ограничением?

Я, наверное, неправильно выразился.
Я пока еще в процессе создания, этой, так сказать БД. Я сделал несколько таблиц, в частности таблицы "Бригада" и "Работник". В таблице "Бригада" есть несколько атрибутов, такие как "Код_бригады", "Начальник бригады", "Выходные", "Количество работников", и другие. В таблице "Работник" есть атрибуты "Код работника", "Код_бригады", "ФИО" и другие. В конструкторе "Бригады" я выбираю "Тип данных" для "Начальник бригады" - Мастер подстановок - Объект из таблицы или запроса, где выбираю таблицу "Работник". В выбранные поля отправляю "Код_работника", "ФИО". В результате в качестве начальника можно выбрать любого. Дальше я пытался что-то сделать с "Источником строк", но пока не преуспел.
Хм, пока писал закрались сомнения, а это вообще возможно?

Да, проблема решается еще одной таблицей, спасибо!

Последний раз редактировалось Stilet; 04.11.2010 в 19:44.
Ael вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена подстановка Sokil Microsoft Office Excel 29 07.02.2012 17:36
Отчет и подстановка yume Microsoft Office Access 1 09.10.2010 18:23
Подстановка в многочлен pasha92 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 28.05.2010 20:20
DBGrid - подстановка VladimirAleks Общие вопросы Delphi 7 22.10.2009 17:49
Подстановка кода Zevgma БД в Delphi 2 27.09.2009 01:29