Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: час
Вот так вот программно сжимаем базу- всё нормально


Public Function Press()

    'Объявляем переменные
    Dim oJET As Object
    Dim oFSO As Object
    Dim sDataBasePath, sCompactDB
        'Создаем объект
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    
    'sDataBasePath - полный реальный путь к сжимаемой БД
    'C:\1_Текущее\1_PROGRAMMS\BANYA1\DB\DB.arm
    sDataBasePath = "C:\1_Текущее\1_PROGRAMMS\BANYA1\DB\press.mdb"
    'Создаем путь и имя для временной БД
    sCompactDB = Replace(sDataBasePath, ".mdb", "-tmp.mdb")
    
    'Создаем объект
    Set oJET = CreateObject("JRO.JetEngine")
    'Производим сжатие
 oJET.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sDataBasePath, _
 "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sCompactDB
    
    'Удаляем старую БВ
    oFSO.DeleteFile sDataBasePath
    'Переименовываем новую сжатую БД в старую
    oFSO.MoveFile sCompactDB, sDataBasePath
    '  очищаем переменные
    Set oFSO = Nothing
    Set oJET = Nothing
    
End Function

Но если у базы парольимеется, то никак не хочет сжимать
я слышал:
что пароль на каждую таблицу вроде надо, потому и не сжимает...
А как программно снять пароль - может кто знает???


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.