MS Access - объединить значения из связанных записей

Я пытаюсь объединить результаты поиска. Я нашел одну статью, описывающую это, но не смог заставить ее работать.

Я пытаюсь сделать следующее: - Я создал две таблицы (tblBus а также tblJoin). Я связал таблицы (1:M). - Я создал форму поиска с несколькими полями для поиска данных. - Я также создал запрос.

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

Вот пример того, что я пытаюсь сделать:

Stop Number     -     Route Number
        110     -     111
        110     -     222
        115     -     111
        115     -     222

Я хотел бы объединить номера маршрутов следующим образом:

Stop Number     -     Route Number
        110     -     111, 222
        115     -     222, 222

Оба поля являются целочисленными.

1 ответ

Вам нужно будет использовать набор записей VBA для создания списка чисел, разделенных запятыми.

VBA будет хранить данные для отображения во временной таблице.

Ваш VBA откроет набор записей на основе запроса SQL, который содержит данные вашего примера. Код будет перебирать каждую строку в данных, обнаруживая, когда число в первом столбце изменяется, сбрасывая строковую переменную в пустую строку. Поскольку он проходит по каждой строке, он добавляется к строке с разделителями-запятыми.

В качестве альтернативы вы можете написать функцию, которая создает одну строку с разделителями-запятыми, которая вызывается запросом. Тишина при вызове будет перечислять только уникальные значения в первом столбце. Функция может быть медленнее, чем метод VBA. Какой метод вы используете, зависит от количества строк в вашей таблице и скорости.

Другие вопросы по тегам