В этой статье представлены решения для устранения ошибки «Запись слишком велика» в MS Access.
Вы могли столкнуться с ситуацией, когда вы пытаетесь импортировать, казалось бы, небольшой файл в базу данных Access, но он не такой маленький, как вы думали. Этот факт становится очевидным, когда вас раздражает предупреждение о том, что «Запись слишком велика», ошибка 3047. Это может стать полной неожиданностью, поскольку размер вашего файла на самом деле может быть очень маленьким. Чтобы иметь возможность справиться с этой ошибкой, вам сначала нужно понять, почему именно ошибка. Итак, сtarт с, это будет наша самая первая точка фокуса.
Причины ошибки
О чем многие пользователи Access не знают, так это о том, что существует ограничение на записи Access, которое ограничивает их использование не более 2000 символов для «фактически доступного пространства». Это означает, что пользователю было предоставлено всего 4000 байт Unicode, это тот предел, который вряд ли сложно превысить. Превышение этого предела во многих случаях является чисто непреднамеренным, оставляя не обращающего внимания пользователя на еще одну сложную ошибку, с которой ему приходится иметь дело.
Опередив причины этой ошибки, мы теперь попытаемся понять возможные решения данной проблемы.
Работа с ошибкой
Несколько распространенных исправлений, которые вы можете использовать при обнаружении этой ошибки, описаны ниже.
- Попробуйте переопределить таблицу - Один из нихost Обычно для решения этой проблемы выбирают попытку заново определить таблицу. Это будет включать не только удаление старых и ненужных полей, но и добавление нескольких новых полей.
- Используйте поля для заметок - Вы можете попробовать справиться с ошибкой 3047, используя поля типа Memo, а не поля типа Text. Вы можете установить тип поля для памятки, установив значение свойства типа поля равным 12. Если оно равно 10, вы снова получите текстовое поле. Если вы в конечном итоге превысите заданный лимит в случае с мемо-полем, Visual Basic будет использовать отдельную страницу для размещения этих полей в базе данных.
- Используйте метод DoCmd.TransferSpreadSheet – Согласно редакции MS Access 2016 года, лимит каждой таблицы установлен на 4000 записей, с общим размером 2 ГБ. Поэтому, если вы в конечном итоге создадите таблицу, превышающую этот предел, вам придется иметь дело с этой ошибкой.
Обходной путь
Помимо использования Исправление доступа инструмент или способы устранения ошибки, указанной выше, вы также можете использовать обходной путь, который включает использование электронной таблицы Excel и связывание ее с таблицей. Это позволит вам иметь запрос, который может хранить более 4000 записей и экспортировать в Excel, когда это необходимо, без каких-либо ошибок.
Тем не менее, здесь важно помнить, что вы используете VBA при экспорте массовых запросов.
Об авторе:
Вивиан Стивенс — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая SQL Server ремонт и программные продукты для восстановления Excel. Для получения дополнительной информации посетите www.datanumen.com
1
Как-будто читаешь мои мысли! Вы похоже так много знаете об этом, типа написали в нем гайд или что-то в этом роде. Я чувствую, что вам не помешает немного %, чтобы немного популяризировать информацию, но вместо этого это отличный блог. Отличное чтение. Я обязательно вернусь.