Преобразовать таблицу с записями, имеющими несколько значений полей, в объединенную таблицу - PullRequest
0 голосов
/ 14 января 2019

Заранее извиняюсь, если название и вопрос не ясны - я начал использовать Access 4 дня назад и только на 1/10 пути из Access 2016 Библия .

На сегодняшний день я управляю данными на листе Excel, который действительно принадлежит базе данных. Поэтому я недавно начал процесс миграции в базу данных Access 2016.

В настоящее время данные хранятся в таблице / таблице данных следующим образом:

CustomerID | InvoiceID
1          |  1 3 6 7 12 15
2          |  1 2 3
3          |  3 6 7
4          |  1 12 15

Каждый идентификатор клиента связан с несколькими идентификаторами счетов, а каждый идентификатор счета связан с несколькими идентификаторами клиентов (отношение «многие ко многим»). Поле InvoiceID в настоящее время отформатировано как короткий текст, а значения разделены пробелом.

Я понимаю, что для нормализации этих данных мне нужно иметь 3 отдельные таблицы, например, Таблица клиентов, таблица счетов-фактур и таблица соединений, которая показывает каждую ссылку от клиента на счет-фактуру в записи «один к одному».

Учитывая этот сценарий, как лучше превратить мою текущую таблицу в три таблицы? Я пытался использовать запрос на создание таблицы, который я могу заставить работать (для одного клиента за раз), но я не уверен, как автоматизировать процесс, чтобы сохранить меня вручную, создавая ~ 40 запросов.

Большое спасибо заранее за вашу помощь.

1 Ответ

0 голосов
/ 15 января 2019

Привет и добро пожаловать,

Я думаю, что ваше предложение будет работать, объединяющая таблица будет иметь два поля: идентификатор клиента и идентификатор счета-фактуры, вероятно, проиндексированные с дубликатами, а затем два основных запроса - счета-фактуры с клиентами и клиенты с счетами-фактурами, которые можно использовать в других запросы для отчетов и т. д. Если вам нужно сделать несколько объединений, например, и клиент к счету для всех клиентов по этому счету может быть немного грязно.

Блэр

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...