powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / св-ва БД, ошибка 3270
9 сообщений из 9, страница 1 из 1
св-ва БД, ошибка 3270
    #39409196
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, приветствую!

Есть нерешенный вопрос.
В проекте, резко, перестало работать...даже не знаю, что точно.

С чего началось.
Решил импортировать все объекты в новую бд. Все прошло успешно.
Для информации, проделывал это несколько раз и с РАЗНЫМИ проектами...результат тот же.
И так.
После импорта, иду в редактор vba, и компилирую проект. Все ок.
Закрываю БД. Открываю бд и получаю ошибку 3270. Свойство не найдено.
Ну как бы понятно на что ругается.
На старте устанавливаются свойства БД. Спецклавиши, статусбар и т.п. НО в этом месте есть обработка ошибки, да и код, стандартнее некуда
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
    Dim dbs As Database, prp As Property
    Const conPropNotFoundError = 3270

    Set dbs = CurrentDb
    On Error GoTo Change_Err
' бьет ошибку в следующей строке
    dbs.Properties(strPropName) = varPropValue
    ChangeProperty = True

Change_Bye:
    Exit Function

Change_Err:
    If Err = conPropNotFoundError Then  ' Свойство не найдено.
        Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
        dbs.Properties.Append prp
        Resume Next
    Else
        ' Неизвестная ошибка.
        ChangeProperty = False
        Resume Change_Bye
    End If
End Function


т.е. ошибку не обрабатывает а тупо выбрасывает в редактор...

Думал порушился оффис...И даже переустановил...ситуация не меняется.
При этом! старые файлы из проектов работают нормально.
Все это наблюдается только для вновь созданных БД и импортированных в них всех объектов.
Пробовал создавать и через Акс и просто через контекстное меню. Результат один...

Поискав, видел советы, выставить DAO. ... перед свойствами переменных для них.
Не помогает.

Увидел одну особенность....
в коде теперь при написании DoCmd.Close строка автоматом меняется на DoCmd.CLOSE
И мне кажется это не спроста...
Кто встречался с такой проблемой?
Подскажите...
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409203
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь ссылку на библиотеку DAO в референсах.
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409216
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

Вот, что значит обратиться к коллективному разуму...
Спасибо за решение проблемы!

поотключал вообще все библиотеки, кроме первых трех. Я как понимаю основных.
И подключил DAO 3.6
ПОМОГЛО!!!!
Кстати, при попытке выбрать эту библиотеку был конфликт с др библиотекой -
MS Office 12.0 Access DataBase engine Object Library
.. как то неожиданно для меня
и почему в "старых" файлах все работает молча....
и ведь я ручками ее не подключаю при создания файла, значит она автоматом подключается при создании файла
Можете объяснить? или это из неизведанного?
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409220
Игортан, если вы получаете сообщение об ошибке, значит обработчик ошибок не работает.
В каком модуле находится процедура? В проекте VBA - Tools - Options есть группа флажков - реакция на ошибки. Что там? Попробуйте варианты.
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409226
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 12 версии Access и выше описания библиотеки DAO доступны (через? ) описание библиотеки
MS Office 12.0 Access DataBase engine Object Library.
В нем отдельно подключать DAO не нужно.
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409227
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Модуль паблик...
по галкам в опциях, я их сто лет не трогал..
Сейчас создал новый чистый файл бд, просто так.
MS Office 12.0 Access DataBase engine Object Library - в подключенных...
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409235
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

А сейчас в "отремонтированной" ))) бд.
Отключил дао и подключил объект либрери
и все работает....
может на этапе создания, криво подключается....
неисповедимы пути мелкомягких....
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409569
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

А вот и рано радовался...
Сегодня появилось время на обкатать.
При создании новой бд автоматом подключается 4 библиотеки.
из них
MS Office 12.0 Access d ataBase engine Object Library
обратите внимание не
MS Office 12.0 Access D ataBase engine Object Library
отключаю.
по новой открываю окно подключения библиотек, есть MS Office 12.0 Access DataBase engine Object Library
ставлю галку. Закрываю окно.
Открываю снова - MS Office 12.0 Access dataBase engine Object Library.

Чего уперся.
вчерашняя проблема не ушла. На том конкретно файле сработало...

Причем. Не дает устанавливать какие либо свойства вообще.

Ладно.
Отключил эту MS Office 12.0 Access DataBase engine Object Library, подключил DAO 3.6
Опять ошибка.
Смотрю - а все свойства установились, кроме AllowBypassKey

Скачал у МС отдельно библиотеку MS Office 12.0 Access dataBase engine Object Library, правда ENG
установил в папку по умолчанию...проблему не решил...

Есть у кого какие идеи?

Для развития мысли. Самое последнее, что пытался поставить, это
Винда 7 лиц, распространяющаяся через ВУЗы.
На виртуалку ставиться не хотела однозначно. Не авзапускаемый msi
Я ее стартанул и ...в общем процесс остановился где то по середине и я установку остановил.
Следов в системе, кроме самого установщика не видно...
Что мог порушить?
...
Рейтинг: 0 / 0
св-ва БД, ошибка 3270
    #39409933
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Пишу, может кому пригодится.

Анатолий, Вы писали о самом правильном направлении.
Раз ошибка не обрабатывалась...значит что то было в нем.

До этого успел сделать еще одну весч.
обнаружил, что при переустановке оффиса папка - C:\Program Files\Common Files\Microsoft Shared\OFFICE12
не удалялась и не чистилась вовсе. При повторной переустановке я эту папку переименовал и поставил оффис по новой. По факту она создалась по новой, это понятно.
После этого, пробовал создавать бд по шаблонам из самого акса.
Создал несколько, поиграл свойствами. Та же ошибка... думаю кранты.

Загуглил все таки вашу мысль.
Первая же ссылка - Почему не работает On Error Resume Next?
дала ответ по галкам. Смотрю в шаблонной базе. Галка не там. Поставил как надо.
Все отработало ок.
Я в "старые новые базы" полез. Они бьют ошибку... галка стоит как надо.
Создаю новую, импортирую в нее все, все ОК!
По ходу старые бд были криво созданы...
Специально создал несколько новых баз с вариантами сжатия, автообновления имен, начальной формы...
Так, на всякий.
Все нормально.


Думаю, кардинально вопрос решился под первым спойлером. Под вторым, попытка это доказать самому себе.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / св-ва БД, ошибка 3270
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]