LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Опять это...
 Тема: Опять это сжатие
 
 15.06.2007 21:08:23
Bono
1 сообщения


Тема: Опять это сжатие
При попытке сжать присоединенную БД вываливается сообщение:
RunTime Error '3356': попытка открыть БД, открытую пользователем 'Admin' для монопольного доступа. Что можно сделать?


P.S. Проблемы с базой данных
Автор: Bono от 07.05.2004 17:16:38 Источник ...
 15.06.2007 21:08:23
All
4316 сообщения
1-ый


RE: Опять это сжатие
Вот собственно код:
Public Sub CompressDB()
Dim strConnect As String
Dim strDBPath As String
Dim strNewDBPath As String
Dim pos As Integer

strConnect = CurrentDb.TableDefs("Sotrudniki").Connect
pos = InStrRev(strConnect, "DATABASE=")
strDBPath = Right(strConnect, Len(strConnect) - pos - Len("DATABASE=") + 1)
strNewDBPath = Left(strDBPath, InStrRev(strDBPath, "\")) & "tmpDB.mdb"


If Dir(strNewDBPath) <> "" Then
Kill strNewDBPath
End If

Call DBEngine.CompactDatabase(strDBPath, strNewDBPath, dbLangCyrillic, , ";pwd=162tp15;")

Kill strDBPath

Name strNewDBPath As strDBPath
End Sub
но он не работает((


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


RE: Опять это сжатие
1. Kill, Name лучше не использовать. Есть универсальный объект для разных OS:
Set fs = CreateObject("Scripting.FileSystemObject"). Он содержит различные программы для работы с файловой системой.
2. Перед сжатием необходима проверка файла на существование fs.FileExists(strNewDBPath)


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


RE: Опять это сжатие
Сжатие не происходит, метод CompactDatabase не выполняется((((


P.S. Проблемы с базой данных
Автор: Bono от 0:00:00 Источник ...
 15.06.2007 21:08:23
Joss
1 сообщения


RE: Опять это сжатие
Метод CompactDatabase не применим к работающей БД. Обычно БД делится на две части - одна с кодом, другая с таблицами. Из пользовательской части отключаешь программно прилинкованные таблицы, затем сжимаешь базу с таблицами, затем обратно линкуешь. Для работающей БД есть другой недокументированный способ. Полазь по сайту http://am.rusimport.ru/MSAccess/default.aspx


P.S. Проблемы с базой данных
Автор: Joss от 17.05.2004 15:18:17 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Опять это...
ПоискПоиск  Список форумовСписок форумов  
right