Доступ MS, Excel, SQL и новые столы

Я только начинаю с Доступом MS 2010 и имею следующую установку. 3 превосходят файлы: masterlist.x (который содержит каждый продукт, который я продаю), vender1.x (который содержит все продукты от vender1, я только продаю некоторые из этих продуктов), и vender2.x (снова, содержит все продукты от vender2, я только продаю некоторые из этих продуктов). Вот сбор данных в качестве примера:

masterlist.x
ID     NAME     PRICE
23     bananas  .50
33     apples   .75
35     nuts     .87
38     raisins  .25

vender1.x
ID     NAME     PRICE
23     bananas  .50
25     pears    .88

vender2.x
ID     NAME     PRICE
33     apples   .75
35     nuts     .87
38     raisins  .25
49     kiwis    .88

Списки уличного торговца периодически обновляются с новыми пунктами для, продают и новые цены. Например, vender1 поднимает цену на бананы к.75$, мой masterlist.x должен был бы быть обновлен, чтобы отразить это.

Где я в теперь: Я знаю, как импортировать эти 3, превосходят диаграммы в Доступ. Оттуда, я исследовал, если я нуждаюсь к отношениям установки, создаю макрос или SQL-запрос, чтобы достигнуть моих целей. Не обязательно поиск решения, но быть указанным в правильном направлении был бы большим!

Кроме того, как только masterlist.x стол обновляется, какую функцию я использовал бы, чтобы видеть, какие позиции были затронуты?

Обновление: у обнаруженных SQL/JOIN/и есть следующее:

SELECT * FROM master
LEFT JOIN vender1
ON master.ID = vender1.ID
where master.PRICE <> vender1.PRICE;

Это дает мне продукцию (для вышеупомянутого сценария)

ID     NAME     PRICE    ID     NAME     PRICE
23     bananas  .50      23     bananas  .75

Что особенность вместо этого дала бы мне:

masterlist.x
ID     NAME     PRICE
23     bananas  .75
33     apples   .75
35     nuts     .87
38     raisins  .25
2
nl ja de
Isn' t это лучше, чтобы иметь стол продавца и стол продуктов тогда ваш основной стол? Вместо того, чтобы иметь объект для каждого продавца...:) у вас может также быть намного более легкая ссылочная целостность. Если у вас есть freedome, чтобы изменить дизайн тогда that' s, что я сделал бы...
добавлено автор bonCodigo, источник
Необходимо отправить вопрос. Посмотрите, что часто задаваемые вопросы связываются в верхней части страницы.
добавлено автор Hogan, источник
Спасибо за обратную связь:1. вопрос: как я обновляю стол masterlist.x с новыми ценами в vender1.x и vender2.x через Доступ MS? SQL? Макрос? Что-то еще? Какие-либо отправные точки можно ли послать меня, чтобы исследовать больше? 2. Нет, у vender1 и vender2 есть уникальные идентификаторы для каждого продукта это don' t пересекаются.
добавлено автор user1964238, источник
не в большое количество комнаты, чтобы изменить дизайн, или возможно меня don' t полностью понимают ваше предложение:) Я получаю обновленный venderlist.excel файл непосредственно от продавца. Я поддерживаю masterlist.excel с продуктами, которые я продаю.
добавлено автор user1964238, источник

1 ответы

Вот головы, так как вы просили идеи проектировать. Я действительно не представляю себе вашу текущую схему стола. Следующие вопросы строятся в SQL Server 2008, самый близкий синтаксис, что я мог войти в sqlfiddle к Доступу MS SQL.

Пожалуйста, смотрите:

Предложенный дизайн стола:

vendor table:

VID     VNAME
1       smp farms
2       coles
3       cold str
4       Anvil NSW

product table:

PID     VID     PNAME       PPRICE
203     2       bananas     0.5
205     2       pears       0.88
301     3       bananas     0.78
303     3       apples      0.75
305     3       nuts        0.87
308     3       raisins     0.25
409     4       kiwis       0.88

masterlist:

ID  PID     MPRICE
1   203     0.5
2   303     0.75
3   305     0.87
4   308     0.25

Вопросы соединения могут легко обновить ваш masterlist теперь. для, например:

Когда продавец обновляет их цены за фрукты, они предоставляют вам. Или когда они останавливают поставку на том продукте. Можно использовать , где пункты, чтобы добавить условия к вопросу, как вы желаете.

Вопрос:

SELECT m.id, p.vid, p.pname, p.pprice
FROM masterlist m
LEFT JOIN product p ON p.pid = m.pid
;

Результаты:

ID  VID     PNAME       PPRICE
1   2   bananas     0.5
2   3   apples      0.75
3   3   nuts        0.87
4   3   raisins     0.25

Пожалуйста, прокомментируйте. Счастливый помочь вам, если имеют какие-либо сомнения.

0
добавлено
Спасибо! Я взял ваше предложение и объединил все столы уличного торговца в единственный стол. Оттуда я использовал SQL-оператор: ИЗБРАННЫЙ master.id, master.name, allproducts.price ОТ владельца ОСТАВИЛ СОЕДИНЕНИЕ allproducts НА владельце. ID = allproducts. ID; Спасибо все для вашей помощи. Понятия не имевший, где даже начать, теперь посмотрите, что SQL - способ пойти.
добавлено автор user1964238, источник
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)