Я хотел бы объединить поля из одного столбца в запросе. Моя таблица в Microsoft Access выглядит так:
| Cluster1 | Cluster2 | Reason |
|-----------|------------|-----------|
| Cluster A | Cluster A1 | Reason 1 |
| Cluster A | Cluster A1 | Reason 2 |
| Cluster A | Cluster A2 | Reason 3 |
| Cluster A | Cluster A2 | Reason 4 |
| Cluster B | Cluster B1 | Reason 5 |
| Cluster B | Cluster B1 | Reason 6 |
| Cluster B | Cluster B1 | Reason 7 |
| Cluster B | Cluster B1 | Reason 8 |
| Cluster B | Cluster B1 | Reason 9 |
| Cluster B | Cluster B2 | Reason 10 |
Результат, которого я хочу достичь в запросе, должен выглядеть следующим образом:
| Cluster1 | Cluster2 | Reason |
|-----------|------------|----------------------------------------------|
| Cluster A | Cluster A1 | Reason1,Reason 2 |
| Cluster A | Cluster A2 | Reason3,Reason 4 |
| Cluster B | Cluster B1 | Reason 5,Reason 6,Reason 7,Reason 8,Reason 9 |
| Cluster B | Cluster B2 | Reason 10 |
Я нашел уже несколько похожих вопросов, но они были более простыми, и я, к сожалению, не смог приспособить их к своему делу. Я узнал, что должен использовать код Concatenate VBA от Allen Browne, и с этим я мог подражать более простому примеру.
Решение Zacharey будет очень хорошо работать с моими тестовыми данными, но когда я пытаюсь использовать его с моими реальными данными, которые имеют около 200 000 записей с 5000 основным кластером (cluster1), оно никогда не заканчивается для расчета. Только когда я чрезвычайно уменьшаю объем фильтрации строк данных только на одну букву алфавита (как A *), я получаю результат через 2-4 часа. В настоящее время я начал запускать его вручную для каждого основного кластера и добавлять его в таблицу, но, похоже, он неэффективен. У вас есть идея, как я мог бы ускорить это. Я предполагаю создание фильтра (примерно 5000 с примерно 50 строками данных в каждой), который обрабатывает каждый основной кластер поочередно и затем выполняет запрос, или создает временную таблицу 5000 раз и выполняет затем запрос 5000 раз с 50 строками только ускорит обработка, но я никогда не делал что-то подобное. У вас есть пример кода, который я мог бы попытаться настроить в соответствии со своими потребностями?