ник: Truelove
День добрый!
Пишу процедуру, которая проверяет наличие модуля в базе и, если модуля нет, создает новый.
Сначала проверяем наличие модуля
Dim sModuleName, sCheck As String
On Error Resume Next
sModuleName = "имя проверяемого модуля"
sCheck = Modules(sModuleName).Name
If Err.Number Then 'ошибка, т.е. выбрать модуль не удалось, значит такого модуля в базе нет
После этого я создаю пустой модуль и переименовываю его.
DoCmd.RunCommand acCmdNewObjectModule
sModuleNewName = Modules(Modules.Count - 1).Name 'автоматическое новое имя
DoCmd.Save acModule, sModuleNewName 'сохраняем
DoCmd.Rename sModuleName, acModule, sModuleNewName 'переименовываем
Получаем ошибку
"The name you entered already exists for another object of the same type in this database."
И в самом деле, есть такой модуль в базе, а проверка не сработала.
Причем для всех остальных модулей в проекте проверка прошла успешно.
Проблемный модуль может быть разный в зависимости от набора модулей в базе.
Пробовал делать Compact and Repair - не помогает...
Может я чего-то не понимаю в этом Access'е?