LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Ошибка 30...
 Тема: Ошибка 3048
 
 15.06.2007 21:03:35
All
4316 сообщения
1-ый


Тема: Ошибка 3048
Возникает ошибка - "Невозможно открытие дополнительных баз данных"

В чем может быть дело? И как решить?


P.S. Проблемы с базой данных
Автор: Svetlana от 0:00:00 Источник ...
 15.06.2007 21:03:35
All
4316 сообщения
1-ый


RE: Ошибка 3048
Необходимо подробное описание проблемы, т.к. возможно выполняются параллельные запросы над таблицой(ами) текущей базы данных currentdb. Решение. Может быть поставить Timer для их выполнения, тогда пользователь будет видеть, что происходит с базой данных.


P.S. Проблемы с базой данных
Автор: Виктор Конюков от 0:00:00 Источник ...
 15.06.2007 21:03:35
All
4316 сообщения
1-ый


RE: Ошибка 3048
У меня такая же ошибка, и я тоже облазил всю доку и пока не нашёл вразумительный ответ!!!
Открыто множество запросов которые являются источниками данных для множества подчинённых форм. Все формы отображаются в главной форме. Всё работает, но как только пытаешься из пользовательского интерфейса запустить один определённый отчёт (из 15) тут то и вываливается: "Ошибка 3048 Открытие дополнительных баз данных невозможно"

Access 97


P.S. Проблемы с базой данных
Автор: Anonymous от 0:00:00 Источник ...
 15.06.2007 21:03:35
All
4316 сообщения
1-ый


RE: Ошибка 3048
Ошибка очень сложная и выяснить точную причину ее пока не удается, но частоту появления ее можно уменьшить.
1. Выделение памяти с использование CurrentDB лучше выполнить один раз, т.е. опишите при открытии базы данных глобальную переменную,например, dbsCURRENT
Public dbsCURRENT as DAO.Database
set dbsCURRENT = CurrentDB
Это обеспечит, во первых, быстрое выполнение запросов (dbsCURRENT.execute strSQL), а, во вторых, не надо заботиться об освобождении переменной, например, set dbs = Nothing

2. Число открытых форм, включая и подчиненные, лучше уменьшить до 5 (число определите сами). Например, у вас в форме есть несколько папок, каждая имеет подчиненную форму. Алгоритм программы должен быть таким, что при открытии папки автоматически для подчиненной формы задается источник данных, а при закрытии папки он удаляется.


P.S. Проблемы с базой данных
Автор: Виктор Конюков от 0:00:00 Источник ...
 15.06.2007 21:03:35
All
4316 сообщения
1-ый


RE: Ошибка 3048
После долгого изучения проблемы удалось выяснить проблема ошибки
"Ошибка 3048 Открытие дополнительных баз данных невозможно"
кроется в JET, не зависимо от версии самой JET. В JET заложено ограничение на количество одновременно открытих рекордсетов основаных именно на связанных таблицах. Число одновременно открытых рекордсетов около 20 максимум. При попытке открыть 21 рекордсет возникает указанная ошибка. 2 метода преодоления:
1. Вообще не использовать связанные таблицы, а применять другие методы для связи приложения с базой.
2. Контролировать количество одновременно открытых рекордсетов (При открытии нового отчёта закрывать открытый предыдущий и программно отвязывать подчинённые формы от источников данны, а при закрытии отчета восстанавливать связи форм с источниками данных) Но всё это конечно дыбилизм чистой воды.
Хоть MSAccess достаточно мощная и простая СУБД такие грабли которые подсовует Били и его компания с одной стороны веселят, а с другой навевают на размышления!!!!.


P.S. Проблемы с базой данных
Автор: Anonymous от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Ошибка 30...
ПоискПоиск  Список форумовСписок форумов  
right