2015-09-03 5 views
-1

Я новичок в Access и пытаюсь понять отношения m: m. Я понимаю, как создать таблицу соединений, содержащую составной первичный ключ. У меня возникают проблемы с тем, что делать дальше.
Tbl1 имеет tbl1PK, Tbl2 имеет tbl2PK, а JunctionTbl1_2 имеет J1PK и J2PK. Как заполнить JunctionTbl1_2?
Если я хочу сделать запрос по записям в Tbl1 и Tbl2, действительно ли я выполняю запрос в таблице соединений?
Я просто немного потерял, как использовать стол. Любая помощь будет оценена по достоинству.Ms-access many-to-many Отношения

+0

Можете ли вы разместить образцы данных? ваш вопрос неясен. Без выборочных данных и зная, что именно вы пытаетесь достичь, не так много, что это сообщество может сделать для вас. У вас, кажется, есть как минимум два отдельных вопроса. Они должны отделять должности. Будьте как можно более конкретными в своей проблеме, дайте примеры и точно, в какой точке процесса вы испытываете трудности. – Gene

+0

@gene Извините. Я разрабатываю приложение инвентаризации и управления складом. У меня есть 50 сотрудников, которые могут работать в 10 разных складах, производящих более 200 наименований. Таким образом, продукты поступают от многих сотрудников и из разных мест. Мне нужно отслеживать, кто что делает и где они это сделали. У меня есть 3 таблицы (для начала). i) Сотрудник: E_IDPK, E_Name ii) Продукты: P_IDPK, P_Name iii) Employee_Products: E_IDPK, P_IDPK. Какие данные/записи нужно искать в таблице соединений? Как я могу сделать запрос, чтобы сообщить, какой сотрудник сделал то, что и какой продукт пришел от какого сотрудника? –

ответ

0

Это очень похоже на этот вопрос, который я ответил недавно, Multiple Many-to-Many Relationships (Circular Relationship) Посмотрите, дает ли этот ответ достаточно информации о том, что должно быть в таблицах. Если у вас есть соединение (более технически многие-ко-многим таблиц) населенные, запрос, чтобы увидеть, какие продукты были созданы по конкретному работнику будет выглядеть примерно так:

select p_idpk from product_employee as pe where pe.e_idpk = e.e_idpk 

Дайте нам знать, если вам нужно больше направление.

+0

Спасибо. Извините простоту моего вопроса, но ... У меня есть данные в таблицах Employee и Product (импортированы). Теперь, когда вы настраиваете таблицу соединений, мне нужно, как показывает ваш пример, вручную ввести все возможные комбинации Employee и Product? Есть ли более быстрый способ? Когда я добавлю нового сотрудника, мне нужно добавить новую запись в таблицу Employee _and_ различные комбинации в таблице Product_Employee? Я, очевидно, немного нечеткий, как использовать таблицу соединений. Я понимаю ваш пример запроса, но я не понимаю, как данные правильно настроены. –

+0

Лучший способ ввода данных таблицы - заполнить отдельные таблицы (сотрудник, местоположение, продукт), а затем настроить запрос вставки, соединяющий две таблицы, и поместить два ключа в таблицу ссылок «многие-ко-многим» , Если вы не можете присоединиться к сотруднику к продукту, вам может потребоваться ввести данные вручную. Когда вы добавляете нового сотрудника, вы можете захватить его/ее идентификатор сотрудника и сделать запрос на вставку, например –

+0

. Извините, предыдущий комментарий наступил на меня. Наилучший способ ввода данных таблицы - заполнить отдельные таблицы (сотрудник, местоположение, продукт), а затем настроить запрос вставки, соединяющий две таблицы, и поместить два ключа в таблицу ссылок «многие-ко-многим». Если вы не можете присоединиться к сотруднику к продукту, вам может потребоваться ввести данные вручную. Когда вы добавляете нового сотрудника, вы можете получить идентификатор своего сотрудника и сделать запрос на вставку, например «iNSERT INTO Employee_Product» (e_idpk, p_idpk). ЦЕННОСТИ (1,3), (1,5), (2,7), (2,5) ' –

Смежные вопросы