Я новичок для доступа. У меня есть таблица маршрутизации, которая включает в себя список кабельных лотков, а также кабели, которые проходят через эти лотки. Образец данных выглядит следующим образом:Доступ - суммирование значений таблиц на основе уникальных ключей?
tray Usable Area cable Total Cable Area (mm^2)
CM1001 25000 1-3/C-00AWG-Cu-TECK 660.19
CM1001 25000 1-3/C-4AWG-Cu-TECK 572.27
CM1001 25000 1-3/C-14AWG-Cu-TECK 490.63
TC-100D.2 15600 1-3/C-750AWG-Al-TECK 1,017.36
TM-001.7B 72000 1-3/C-750AWG-Al-TECK 1,017.36
TM-001A.1 10000 1-3/C-750AWG-Al-TECK 1,017.36
TM-001A.2 90000 1-3/C-8AWG-Cu-TECK 530.66
TM-001A.3 90000 1-3/C-750AWG-Al-TECK 1,017.36
Поле лотка содержит как уникальные, так и повторяющиеся значения. Дублированные значения считаются единым лотком, просто с несколькими типами кабелей, проходящих через него (в колонке кабелей). Моя цель состоит в том, чтобы суммировать общую площадь кабеля для одного лотка, даже если этот лоток фактически представляет собой несколько повторяющихся записей. Например, общая площадь кабеля для лотка CM1001 составляет 1723,06 мм², TM-001A.1 составляет 1017,36 мм², а TM-001A.2 составляет 530,66 мм². Затем я сравню эту общую площадь кабеля с полезной областью лотка, чтобы узнать, заполнен ли лоток.
Мой вопрос: есть ли какой-нибудь простой запрос доступа. Я могу выполнить подсчет значений в столбце «Общая площадь», если есть повторяющиеся строки «лоток», но просто отобразить значение в Total Cable Area - это лоток - уникальный ряд? Полезные области и кабельные поля в конечном итоге неважны при создании этого нового запроса. В идеале, мой новый запрос будет выглядеть следующим образом:
tray Total Cable Area (mm^2)
CM1001 1,723.06
TC-100D.2 1,017.36
TM-001.7B 1,017.36
TM-001A.1 1,017.36
TM-001A.2 530.66
TM-001A.3 1,017.36
Если нет какого-то общего типа запроса, я просто не знал о том, что вы готовы предоставить некоторые отправные точки о том, как сделать это с VBA? Я знаком с VBA, просто не с Access.
Большое вам спасибо!
Спасибо! Пока я ждал ответа, я понял, что могу написать его в VBA, который я включу в другой ответ, если кто-то в будущем этого захочет. Код VBA заканчивается тем, что записывает результаты в другую таблицу, и я понимаю, что это не совсем правильная форма. Я определенно использую ваше решение для своей элегантности. Еще раз спасибо! –
Операции сложениями всегда лучше всего обрабатываются с помощью SQL - * это то, что делает SQL! * Итеративные/кодовые подходы медленнее, сложнее и подвержены ошибкам. –