2012-04-26 5 views
3

У меня есть таблица, похожая на приведенную ниже таблицу источников примера, которую я хотел бы свернуть в зависимости от поля ID (см. Пример свернутой таблицы). Я могу сделать это с помощью кода, но он раздувает мою базу данных Access с максимальным размером 2 ГБ, поэтому я надеюсь, что есть способ сделать это с помощью запроса. Я должен, вероятно, отметить, что для любого заданного значения ID мне не нужно беспокоиться о более чем одной записи, имеющей значение в поле One, Two, Three или Four.Свернуть таблицу доступа MS

Пример Источник Таблица:

ID One Two Three Four 
1 My  Is 
1     Matt 
1  Name 
2 My  Is  Matt 
2  Name 
3 My Name Is  Matt 

Пример Collapsed Таблица:

ID One Two Three Four 
1 My Name Is Matt 
2 My Name Is Matt 
3 My Name Is Matt 

Заранее спасибо за любую помощь или guidence условия.

Matt

+0

Как код может раздуть его до 2 ГБ? Сколько записей мы говорим? –

+0

У вас должна быть база данных «split» как хорошая практика, таблицы данных в одном и, по сути, код в другом. Я так же удивлен, как DJ о том, что код подталкивает его более чем на 2 ГБ, но это помешает ему. –

ответ

3

Вы можете использовать суммарный запрос, группы по ID и возвращает Max() для каждого из этих 4 других столбцов в пределах каждого ID группы.

SELECT 
    ID, 
    Max(One), 
    Max(Two), 
    Max(Three), 
    Max(Four) 
FROM tblSource 
GROUP BY ID; 

Если вы хотите сохранить результаты в новой таблице, преобразуйте запрос в запрос «make table». Если у вас уже создана таблица адресатов и вы хотите добавить к ней эти результаты, конвертируйте запрос в «append query».

Если вы приближаетесь к ограничению размера файла в 2 ГБ, сначала используйте Compact & Устраните, чтобы отменить неиспользуемое пространство. Если компактность не дает вам достаточно рабочей комнаты, создайте другой файл db и сохраните там новую (свернутую) таблицу. Вы можете связать его с исходной базой данных.

+0

Работает идеально. Это именно то, что мне нужно. –

+2

@Matt Crisler: Рад, что вы нашли то, что искали. Пожалуйста, отметьте вопрос как ответ - это дает кредит HansUp и удаляет вопрос из списка «без ответа» – Johanness

Смежные вопросы