проверить Диспетчер задач показывает, что есть много свободной памяти. Закрытие других открытых программ не имеет значения.
это происходит спорадически и при разных обстоятельствах: иногда при сохранении дизайна формы или изменения кода VBA, иногда, когда несколько форм открыты и используются.
при попытке сохранить изменения дизайна, и эта ошибка возникает, объекты доступа повреждены и не могут быть восстановлены.
любые предложения о том, что может быть причиной этого, будут очень приветствоваться.
автор: Robert Harvey
7 ответов
проект VBA в вашем интерфейсе, вероятно, поврежден. Вам нужно перестроить его с нуля, а затем использовать правильные методы кодирования доступа:
- в параметрах VBE отключите компиляцию по требованию (см. статья Майкла Каплана о декомпиляции подробности почему).
- в параметрах VBE включите требование объявления переменной.
- в VBE настройте панель инструментов так, чтобы кнопка компиляции была легко доступный (он находится в меню Debug). Я также рекомендую добавить кнопку стека вызовов (из меню Вид), так как это удобно для отладки ошибок в режиме перерыва. Дело в том, чтобы сделать отладку и компиляцию как можно проще.
- настроив свою среду, пройдите все модули в вашем недавно восстановленном проекте и добавьте опцию EXPLICIT в верхнюю часть каждого модуля, которому ее не хватает. Затем компилировать. Вы быстро узнаете, где у вас есть недопустимый код, и вам понадобится исправить это.
- отныне при программировании компилируйте часто, через каждые две-три строки кода. Я, вероятно, компилирую свой проект 100 или более раз в день при кодировании.
- периодически декомпилируйте свой проект и компактируйте и перекомпилируйте его. Это очистит любой crud, который накапливается во время регулярного развития.
эти методы гарантируют, что код в неповрежденном проекте остается в чистом состоянии по возможности. Он ничего не сделает для восстановления уже поврежденного проекта.
Решено ! Ошибка «В системе не достаточно памяти»
Что касается того, как перестроить проект, я думаю, что я бы пошел по радикальному пути экспорта всех объектов с приложением.SaveAsText и импорт их в новую пустую базу данных с приложением.LoadFromText. Это превосходит простой импорт из существующего поврежденного интерфейса, поскольку импорт может импортировать поврежденные структуры, которые не переживут цикл SaveAsText/LoadFromText.
I программа ежедневно в доступе, работает с нетривиальными приложениями, которые используют много кода, включая множество автономных модулей класса. Я не потерял объект для коррупции кода более 5 лет, и это было еще в тот день, когда я все еще использовал A97.
автор: David-W-Fenton
наткнувшись на этот мой старый пост, и видя, что у него был изрядный интерес, я подумал, что, может быть, обновление будет в порядке?
Итак, 2 года вниз по дорожке, делая много работы приложения 2007 года, а также более старые приложения 2003 (и даже ’97), я нахожу, что 2007 менее подвержен действительно неприятным сбоям, чем 2003 — где определения объектов доступа (формы и отчеты esp.) будет легко поврежден.
В СИСТЕМЕ НЕДОСТАТОЧНО ПАМЯТИ, ВЫЛЕТАЕТ ИЗ ИГРЫ / [2022]
Я по-прежнему следую предложениям 1-6 (выше) Дэвида-W-Fenton религиозно, хотя, плюс использование приложения.SaveAsText (см. предложение Тони Toews и ссылку выше).
в эти дни, будь то 97, 2003 или 2007 я работаю, если доступ дает любой намек на «странный | авария | бросая непонятные ошибки» etc, я делаю следующее:
- сразу закрыть приложение Access
- резервное копирование файла mdb / accdb
- откройте приложение удерживая [Shift] , так что ничего не работает
- экспорт всех объектов в виде текста с помощью приложения.SaveAsText (как еще одна резервная копия)
- закройте и снова откройте приложение с помощью переключателя / decompile
- перекомпилировать код VBA
- сделайте компакт / ремонт.
Это не решает все, но это значительно уменьшает количество искажений объектов доступа от того, что я могу наблюдать.
автор: maxhugen
Я работала в магазине много лет, что б доступ к их платформе. Приложение в конечном итоге стало настолько большим, что оно начало поражать внутреннее ограничение памяти Access 2003. Они начали испытывать ту же самую проблему, что и вы. Как вы заметили, нет никаких внешних признаков проблем с памятью, когда это произойдет.
компания долго говорила с Microsoft о проблеме, и я считаю, что Microsoft в конце концов снабдил их заплаткой. Таким образом, вы можете поговорить с Microsoft об этом, если это звучит как аналогичная ситуация с тем, что вы испытываете, поскольку они могут предоставить вам тот же патч.
в конечном счете долгосрочное решение состоит в том, чтобы разбить приложение на более мелкие части. Переход на Access 2007 не помог; на самом деле, это ухудшило ситуацию, потому что Access 2007 имеет больше движущихся частей.
автор: Robert Harvey
быстрое решение; гарантированный для работы:
открыть VBA ( Alt-F11 ) В окне непосредственно введите следующее:
Application.SaveAsText acForm, «corrupt form name here», CurrentProject.Path zzTempRevive»
Application.LoadFromText acForm, «corrupt form name here», CurrentProject.Path zzTempRevive»
вот и все 🙂 надеюсь, это поможет другим!
автор: Joesoap
Это также сообщение об ошибке по умолчанию, когда Access не имеет понятия, в чем проблема на самом деле. Теперь, если ваш MDB особенно велик, скажем, более 800 форм и отчетов с модулями, да, MDB может быть слишком большим, хотя это дало вам сообщение, когда вы пошли создавать MDEs. ACC2000:» Microsoft Access не удалось создать базу данных MDE » сообщение об ошибке
У меня это иногда случалось. И мои нынешние МБР не настолько велики. Обратите внимание, что compact и repair не обнаруживает ошибок в объектах, отличных от таблиц, индексов или связей. Поэтому импорт в другой MDB-единственный способ исправить эти ошибки.
вы работаете над этим MDB по сети? Это единственное, что я могу придумать, что может вызвать эту проблему.
автор: Tony Toews
поскольку я знаю, что это либо формы, либо отчеты, которые, скорее всего, будут повреждены, я создал новый mdb, и только импортированные таблицы (прикрепленные), запросы, скрипты (только один), модули и меню. Затем я использовал LoadFromText для импорта форм и отчетов через функцию, а затем сделал обычную декомпиляцию/компиляцию и компакт/ремонт и т. д.
до сих пор, прикоснитесь к дереву, у меня не было другой аварии в течение нескольких дней, поэтому я, вероятно, буду придерживаться этого метода восстановления.
большое спасибо всем за свои предложения.
автор: maxhugen
Я сталкивался с этой проблемой много раз и, наконец, нашел решение, которое сработало. Я не знаю, что вызывает проблему, но я знаю, как ее решить.
обычно эта ошибка возникает при открытии формы. Что вам нужно сделать, это полностью воссоздать эту форму. Самый простой способ сделать это-сначала экспортировать форму в текстовый файл с помощью приложения недокументированной функции.SaveAsText. Затем вы удаляете форму из своей базы данных и повторно загружаете ее Приложение.LoadFromText.
Источник: askdev.ru
Visual Studio может перестать отвечать на запросы, если в системе заканчивается память
Эта статья поможет вам устранить нестабильное или неответственное поведение в Visual Studio или других приложениях в случае нехватки памяти в системе.
Причина 1. Некоторые приложения потребляют много памяти
В вашей системе некоторые приложения могут потреблять много памяти и не используются в активном режиме. Чтобы проверка, какие приложения могут вызвать эту проблему, выполните следующие действия.
- Нажмите клавиши CTRL+SHIFT+ESC, чтобы открыть диспетчер задач.
- Перейдите на вкладку Сведения .
- Щелкните правой кнопкой мыши заголовок столбца и выберите элемент Выбрать столбцы .
- Установите флажок Размер фиксации в окне Выбор столбцов и нажмите кнопку ОК.
- В столбце Размер фиксации дважды щелкните заголовок столбца, чтобы отсортировать размер фиксации по убыванию.
Обходной путь: закройте приложения, потребляющие память, которые не используются
Если вы заметили программу, которая потребляет большой объем памяти и не используете ее активно, закройте эту программу. После закрытия таких программ система и Visual Studio могут стать более стабильными.
Если программа отображается как vmmem.exe в списке, что указывает на виртуальную машину, потребляющую память, завершите работу виртуальной машины, чтобы сделать память доступной.
Если программы с наибольшим размером фиксации являются системными программами, их закрытие может быть небезопасно. Самый безопасный подход — перезагрузить компьютер.
Причина 2. Конфигурация файла подкачки не является оптимальной
Файл подкачки — это файл на системном диске, который выступает в качестве расширения памяти с произвольным доступом (ОЗУ). Если память, используемая приложениями, превышает емкость ОЗУ, Windows выделяет место в ОЗУ, перемещая содержимое памяти в файл подкачки. Конфигурация файла подкачки по умолчанию такова, что Windows может поддерживать одновременно несколько программ. Однако некоторые конфигурации и обстоятельства не могут выделить достаточный объем памяти для поддержки всех программ, запущенных в системе.
Эта проблема может привести к нестабильности таких программ, как Visual Studio.
Решение. Настройка оптимальных параметров файла подкачки
Шаг 1. Поиск конфигурации файла подкачки
- Выполните поиск по запросу Дополнительные параметры системы в поиске Windows и нажмите кнопку Открыть , чтобы открыть окно Свойства системы .
- Выберите Параметры. в разделе Производительность .
- В окне Параметры производительности выберите вкладку Дополнительно .
- Выберите Изменить. в разделе Виртуальная память .
Шаг 2. Настройка оптимального файла подкачки
- Мы рекомендуем разрешить системе прозрачно управлять файлом подкачки. Для этого установите флажок Автоматически управлять размером файла подкачки для всех дисков , если он не установлен.
- Если размер файла подкачки настроен таким образом, что система управляет им, и вы по-прежнему видите ошибки о нехватке памяти, проверка в проводник, достаточно ли дискового пространства на системном диске. Используйте клавиши Windows+E, чтобы открыть окно проводник на компьютере.
- Если вы хотите настроить расположение файла подкачки, снимите флажок Автоматически управлять размером файла подкачки для всех дисков и следуйте одному из следующих параметров:
- Рекомендуется разрешить системе управлять размером файла подкачки на диске. Для этого выберите параметр Размер, управляемый системой .
- В некоторых случаях может потребоваться настроить размер файла подкачки. Сведения об одном из таких примеров см. в статье Сбой автоматического увеличения размера файла подкачки.
Важно! Убедитесь, что в параметрах Начальный размер и Максимальный размер заданы совокупный максимальный размер фиксации для приложений, которые обычно выполняются в системе. При использовании этого параметра система не обновляет размер файла подкачки автоматически. Таким образом, если требования к памяти увеличиваются из-за того, что запущенные приложения потребляют больше памяти или из-за запуска новых приложений, которые потребляют дополнительную память, следует обновить параметр Максимальный размер , чтобы учесть новые требования. Убедитесь, что на диске достаточно места для размещения нового размера.
Обратная связь
Были ли сведения на этой странице полезными?
Источник: learn.microsoft.com
Что делать, если при открытии документа в Word появляется сообщение «Недостаточно памяти или места на диске»
Microsoft Word — самый продвинутый и мощный текстовый процессор, без труда справляющейся с открытием и редактированием документов в сотни страниц со сложным форматированием текста. Но если это так, как можно объяснить ошибку «Недостаточно памяти или места на диске» , появляющуюся сразу после открытия файла при том, что на компьютере не наблюдается недостатка ни оперативной, ни физической дисковой памяти?
Cразу нужно сказать, что ошибка эта не имеет отношения к оперативной памяти или жесткому диску, в большинстве случаев она возникает при повреждении конфигурационных файлов Microsoft Word или изменения разрешений каталога шрифтов, из которого редактор подгружает необходимо ему шрифты.
Также ошибка может быть вызвана повреждением кэша шрифтов, работой некоторых надстроек и повреждением самих файлов Microsoft Office.
Рассмотрим эти причины более подробно.
Повреждение файла Normal.dotm
Файл normal.dot представляет собой шаблон, в котором хранятся настройки и стили, определяющие вид документа Word. В случае повреждения его структуры редактор может отреагировать появлением указанной ошибки. В этом случае устранить неполадку можно путем пересоздания шаблона Normal.dotm .
Для этого, закрыв все файлы Microsoft Office, перейдите в каталог %userprofile%AppDataRoamingMicrosoftШаблоны и переименуйте расширение файла Normal.dotm в OLD или BAK .
Также вы можете удалить файл, но безопаснее всё же будет его переименовать.
При следующем запуске Word шаблон будет создан с настройками по умолчанию.
Некорректная работа надстроек
Если в вашем Word имеются активные надстройки, попробуйте их отключить.
Для этого перейдите по цепочке настроек Файл -> Параметры -> Надстройки.
Внизу в выпадающем списке выберите «Надстройки Word», нажмите «Перейти».
И снимете в открывшемся окошке галочки с активных надстроек.
То же самое повторите и для надстроек COM. Можно действовать и методом исключения, отключая надстройки одну за другой и проверяя каждый раз работу редактора.
Изменение разрешений каталога шрифтов
Еще одной распространенной причиной появления ошибки является изменение разрешений системного каталога Fonts , содержимое которого используется приложениями пакета Microsoft Office. Ошибка может возникать во всех версиях Windows, но чаще всего ее появление отмечалось в Windows 10 Creator Update. Устранить эту неполадку можно с помощью PowerShell , выполнив следующие две команды.
Get-acl C:/Windows/fonts/arial.ttf | Set-Acl -path c:/windows/fonts/*.* Get-acl C:/Windows/fonts/arial.ttf | Set-Acl -path c:/windows/fonts
Повреждение кэша шрифтов
Кэш шрифтов представляет собой особый набор временных файлов буфера, к которому обращаются программы для ускорения загрузки шрифтов. Повреждение кэша может привести к появлению ошибки «Недостаточно памяти или места на диске» .
Для сброса кэша предлагаем использовать простой командный файл.
Скачайте его по ссылке yadi.sk/d/0zh60veLwJrDXQ и запустите от имени администратора.
После того как скрипт отработает, перезагрузите компьютер.
Изменение политики о сохранении зон вложении
Появление ошибки также тесно связано с открытием файлов, полученных из интернета, которые могут быть заблокированы. Всегда проверяйте такие файлы на предмет блокировки в их свойствах. Как вариант, можете включить политику не сохранения информации о зоне вложенных файлов.
Откройте редактор групповых политик, перейдите по цепочке Конфигурация пользователя -> Административные шаблоны менеджера прикреплений и включите политику «Не сохранять информацию о зоне в вложениях файлов».
Если политика отсутствует, примените твик реестра, скачав его по ссылке yadi.sk/d/rsr13vIQiGy2EA.
Изменения вступят в силу после перезагрузки компьютера.
Повреждение файлов Microsoft Word
Если ни один из этих способов не помог вам устранить ошибку, выполните процедуру восстановления офисного пакета.
Для этого откройте в панели управления апплет «Программы и компоненты», найдите в списке Microsoft Office и нажмите «Изменить».
Затем в окошке мастера включите радиокнопку «Восстановить», нажмите «Продолжить» и проследуйте дальнейшим указаниям.
Источник: www.white-windows.ru