Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 27.11.2007
Сообщений: 60
1

Программное сжатие базы MS Access 97

09.09.2008, 10:15. Показов 2644. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ, подскажите, плиз, кто знает что-нибудь по данное теме... Очень нужно... Или ссылочку киньте, где хоть намёки на это есть... Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2008, 10:15
Ответы с готовыми решениями:

Программное сжатие БД Ms Access
В Access есть функция 'Сжать/Восстановить БД'. Как это сделать программно, с помощью кода из ВБ?...

Программное сжатие базы Access
Доброго времени суток, уважаемые форумчане. Пытаюсь программно сжать базу данных, но все мои...

Программное сжатие базы Access
Бд достигла размеров 38 метров при том что она пуста, необходимо сжать БД. Подсказали на форуме...

Как осуществить сжатие mdb базы программно, не прибегая к услугам Access ?
Не подскажет ли кто, как осуществить сжатие mdb базы программно, не прибегая к услугам Access ?...

10
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
09.09.2008, 10:52 2
Acmain80.hlp

This example uses the CompactDatabase method to change the collating order of a database. You cannot use this code in a module belonging to Northwind.mdb.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub CompactDatabaseX()
 
    Dim dbsNorthwind As Database
 
    Set dbsNorthwind = OpenDatabase('Northwind.mdb')
 
    ' Show the properties of the original database.
    With dbsNorthwind
        Debug.Print .Name & ', version ' & .Version
        Debug.Print '    CollatingOrder = ' & .CollatingOrder
        .Close
    End With
 
    ' Make sure there isn't already a file with the 
    ' name of the compacted database.
    If Dir('NwindKorean.mdb') <> '' Then _
        Kill 'NwindKorean.mdb'
 
' This statement creates a compact version of the
    ' Northwind database that uses a Korean language
    ' collating order.
    DBEngine.CompactDatabase 'Northwind.mdb', _
        'NwindKorean.mdb', dbLangKorean
 
    Set dbsNorthwind = OpenDatabase('NwindKorean.mdb')
 
    ' Show the properties of the compacted database.
    With dbsNorthwind
        Debug.Print .Name & ', version ' & .Version
        Debug.Print '    CollatingOrder = ' & .CollatingOrder
        .Close
    End With
 
End Sub
0
0 / 0 / 0
Регистрация: 27.11.2007
Сообщений: 60
09.09.2008, 15:03  [ТС] 3
Посмотрел я и у себя этот Help... Compact-то он, Compact - да про сжатие базы - ни слова... Изменение версии, какого-то order... В общем, всё не то... :-(
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
09.09.2008, 15:42 4
Здравствуй, ... , Новый Год!
А кому сейчас легко? :-)
Все то, что ты хотел! Логика следующая: из кода, не принадлежащего данной БД (читай 'из другого приложения') выполняешь ОДНУ строку кода:
DBEngine.CompactDatabase olddb, newdb
Где аргументы - полные имена файлов. Причем новое имя должно отличаться от старого. Кстати, для этого в примере help'а и используется метод Kill.
А твой 'какой то order' - optional аргумент, т.е. необязательный.

Удачи, мистер :-(
0
0 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 596
09.09.2008, 16:05 5
Нoнче я бы пoрекoмендoвaл пoльзoвaть JRO oбъекты. Oни все-тaки ADO. Действия те же. Бaзы тaк же плющит.

Успехoв
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
09.09.2008, 16:26 6
Сколько лет, сколько зим, sugarde!
Где пропадал?
А нельзя было в рекомендации Филе ссылку какую-нибудь дать?
2Филя: MSDN
HOWTO: Compacting Microsoft Access Database via ADO
ID: Q230501
0
0 / 0 / 0
Регистрация: 27.11.2007
Сообщений: 60
09.09.2008, 18:34  [ТС] 7
Нету у меня в MSDN такого... Compact Database есть, а насчёт ADO история умалчивает... По ID искать ? Где он там прописывается-то ? Сорри за тугоумие, вызванное переутомлением... :-(
0
0 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 596
09.09.2008, 19:33 8
2Филин:
Смотри по ключевым словам JRO.

2debutant
Здравствуйте, господин поручик (Herr Unterofizier :---) )!
Да вот поступил на дневное снова. Круг софта, который пользую ежедневно, несколько изменился. Место работы поменялось ну и т.д.

Всем успехов!
0
1 / 1 / 0
Регистрация: 03.08.2007
Сообщений: 155
10.09.2008, 17:55 9
Посмотри здесь:
http://nsa.chat.ru/

или на форуме (когда то этот вопрос много раз подымался)
http://guestbook.net.ru/cgi-bin/book.cgi?user=NSA_Forum&action=show
0
0 / 0 / 0
Регистрация: 27.11.2007
Сообщений: 60
11.09.2008, 12:21  [ТС] 10
Вот уж где не рассчитывал найти... Через Яндекс по слову JRO нашёл сайт www.olap.ru, статья 'Borland Delphi и расширения ADO'. Всё оказалось до смешного просто - прицепил в References библиотеку Micrisoft Jet and Replications Objects 2.5 Library и вставил в программу под себя модернизированный код с того самого Delphi-сайта
Visual Basic
1
2
3
4
5
6
Dim JRO As JetEngine
 
Set JRO = New JRO.JetEngine
 
JRO.CompactDatabase 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\baseplanz.mdb', _
 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\baseplanz.mdb;'
Вот и всё ! :-)
Всем спасибо ! :-)
Удачи !
0
0 / 0 / 0
Регистрация: 26.12.2007
Сообщений: 435
08.01.2009, 06:10 11
по старой памяти может кто вспомнит - че ему надо, ругается что Argument not Optional и выделяет словосочетание .CompactDatabase.
Код такой:
Visual Basic
1
2
3
Dim JRO As JetEngine
Set JRO = New JRO.JetEngine
JRO.CompactDatabase 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' & DBPlace & ', ' & cn
0
08.01.2009, 06:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2009, 06:10
Помогаю со студенческими работами здесь

Программное создание базы Access с созданием отдельного .MDW
Есть проблемка. Пытаюсь создать базу new.mdb, что бы паралельно создавался new.mdw по указанным...

Сжатие базы
Как сжать базу данных access 2016, не закрывая ее?

Сжатие и восстановление базы
Доюрый день. Помогите мне, пожалуйста, в решении следующей задачи: Имеется база данных с...

Сжатие базы данных
Пытаюсь сжать базу данных (Access 2010). function TFormMain.compactandrepair(db: string):...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru