Объединение нескольких таблиц в Access через VBA / SQL
У меня есть база данных таблиц, каждая из которых содержит два столбца, первый код, второй сумма. Таблицы извлекаются из данных, создаваемых ежедневно, где код будет содержать данные за определенную дату, если она была вызвана внешним событием в эту дату. Например, таблица на день 2015-10-02 будет выглядеть так:
Code 2015-10-02
1 321.23
2 3442.13
3 679.2
4 6201.4
Таким образом, каждая таблица имеет один и тот же первый столбец (код), но коды будут меняться каждый день. В некоторые дни у нас могут запускаться коды, отличные от любого другого предыдущего дня (в первый раз, когда он был запущен), или он мог быть активирован в предыдущий день, но с другим количеством. Таблица, которую я хочу создать, будет выглядеть так:
Code 2015-10-02 2015-10-03 2015-10-04 ....
1 321.23 0 0
2 3442.13 0 10.42
3 679.2 41.2 0
4 294.12 41.31 1042.12
5 0 0 371.14
.
.
Я знаю, что могу присоединиться ко всем таблицам, но я также хочу добавить любые новые коды и предположить 0 для каждого из предыдущих дней, когда код не был активирован. Есть ли простой способ сделать это через VBA/SQL?
Спасибо
1 ответ
Нееет. Это не то, как работают базы данных.
Вам нужна таблица с 3 столбцами, например:
+------+------------+---------+
| Code | Date | Amount |
+------+------------+---------+
| 1 | 2015-10-02 | 321.23 |
| 2 | 2015-10-02 | 3442.13 |
| 3 | 2015-10-02 | 679.2 |
| 4 | 2015-10-02 | 6201.4 |
| 3 | 2015-10-03 | 41.2 |
+------+------------+---------+
Код + Дата является первичным ключом.
Затем вы можете получить свою матрицу кода против даты с помощью запроса кросс-таблицы (используйте мастер).