MS Access: Как я могу автоматически уменьшить текстовые столбцы до соответствующего размера для данных, хранящихся в них? - PullRequest
0 голосов
/ 04 апреля 2009

В MS Access есть мастер импорта текстовых файлов. (Файл -> Получить внешние данные -> Импорт.) К сожалению, текстовые столбцы (поля) всегда импортируются с размером 255 символов, независимо от фактических данных, найденных во входном файле.

Как я могу уменьшить эти 255-символьные столбцы текста до разумного размера, не выполняя вручную кучу запросов "SELECT Max(Len(_column_)) FROM _data_"?

У меня уже есть решение, и я опубликую его ниже.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2009

Есть ли причина для этого? Уменьшение размера поля только уменьшает объем текста, который поле может сохранить, а не объем пространства, занимаемого файлом на диске.

1 голос
/ 04 апреля 2009

Я создал инструмент, который будет сканировать импортированную таблицу после факта , сообщать о фактических минимальных и максимальных размерах, найденных в столбцах текста, и позволит вам изменять размеры столбцов одновременно: 1003 *

http://www.glump.net/software/microsoft_access_table_optimizer

Этот инструмент не влияет на мастер импорта MS Access и не заменяет его. Поэтому, если вы импортируете огромное количество записей или столбцов со значениями Text, у вас могут возникнуть проблемы с пробелами, прежде чем вы сможете приступить к запуску моего инструмента. YMMV.

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

...