Corrupt Access
От: Slam Россия  
Дата: 20.04.04 08:33
Оценка:
Проблема:

Есть аксессный фронтенд (ХР), множество всяких
форм и и.д. В один момент несколько форм
испортилось: нельзя открыть код формы (по Alt-F11,
например), Аксесс падает. При открытии этих форм
тоже падает.

Может быть кто-нибудь сталкивался, что тут
можно сделать вообще?
Наверняка ведь можно как-то восстановить.

Compact & repair database не помогает (то же
самое получается), конвертация в другой формат
не проходит.
Re: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 08:39
Оценка:
Здравствуйте, Slam, Вы писали:

S>Проблема:


S>Есть аксессный фронтенд (ХР), множество всяких

S>форм и и.д. В один момент несколько форм
S>испортилось: нельзя открыть код формы (по Alt-F11,
S>например), Аксесс падает. При открытии этих форм
S>тоже падает.

S>Может быть кто-нибудь сталкивался, что тут

S>можно сделать вообще?
S>Наверняка ведь можно как-то восстановить.

S>Compact & repair database не помогает (то же

S>самое получается), конвертация в другой формат
S>не проходит.

Попробуйте импортировать эти формы в пустую базу?
Пользователь — друг программиста!
Re[2]: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 08:40
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Попробуйте импортировать эти формы в пустую базу?


Т.е. импортировать из пустой базы.
Пользователь — друг программиста!
Re[3]: Corrupt Access
От: Slam Россия  
Дата: 20.04.04 08:44
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Здравствуйте, Elena_, Вы писали:


E_>>Попробуйте импортировать эти формы в пустую базу?


E_>Т.е. импортировать из пустой базы.


В смысле импортировать?

Копировать-вставить не помогает.
Подозреваю, что в коде формы что-то
испортилось и при обращении к форме
Аксесс падает.

Не знаю, возможно символ какой-нибудь
там неправильный появился или ещё
что...
Re[4]: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 09:29
Оценка:
Здравствуйте, Slam, Вы писали:

S>В смысле импортировать?


S>Копировать-вставить не помогает.

S>Подозреваю, что в коде формы что-то
S>испортилось и при обращении к форме
S>Аксесс падает.

S>Не знаю, возможно символ какой-нибудь

S>там неправильный появился или ещё
S>что...

Вообще-то я имела в виду не копировать-вставить, а правым глазом мыши на закладке Формы в пустой базе выбрать Импорт..., и выбрать базу и форму. Хотя, конечно, может тоже не пройти.
Пользователь — друг программиста!
Re[5]: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 09:56
Оценка: 4 (1)
Здравствуйте, Elena_, Вы писали:

Можно еще попробовать таким кодом скопировать тексты модулей форм (из любого приложения Office, например, Excel)
    Dim appAccess As New Access.Application
    appAccess.OpenCurrentDatabase "C:\Test.mdb"
    
    Dim i As Integer
    For i = 1 To appAccess.VBE.VBProjects(1).VBComponents.Count
        appAccess.VBE.VBProjects(1).VBComponents(i).Export _
            Filename:="C:\xxx\" & appAccess.VBE.VBProjects(1).VBComponents(i).Name & ".txt"
    Next
        
    appAccess.Quit
    Set appAccess = Nothing


А потом, если формы открываются в конструкторе, установить HasModule = False, может быть, поможет. Или тоже через программу установить HasModule = False, а потом из текстовых файлов восстановить модули.
Пользователь — друг программиста!
Re[6]: Corrupt Access
От: Slam Россия  
Дата: 20.04.04 10:30
Оценка:
Здравствуйте, Elena_, Вы писали:

Спасибо за участие

Вообще восстановили уже, врукопашную правда.
Но попробую, может пригодится ещё.
Re[6]: Corrupt Access
От: Slam Россия  
Дата: 20.04.04 10:35
Оценка:
Вообще там вот как было: открыли мы
редактор кода, там смотрим код разных
форм, а при попытке открыть код именно
этих нескольких форм -- падает он.

Т.е. совсем перекосило его

Вообще говорят эта ситуация возникает
только в ХР-шном аксессе, и связано с
тем, что там отслеживается история
изменения объектов (из-за этого же и
размер со временем распухает). Вот
где-то случилось страшное с этим
механизмом, и началась такая история.
Re[7]: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 10:54
Оценка:
Здравствуйте, Slam, Вы писали:

S>Вообще говорят эта ситуация возникает

S>только в ХР-шном аксессе, и связано с
S>тем, что там отслеживается история
S>изменения объектов (из-за этого же и
S>размер со временем распухает). Вот
S>где-то случилось страшное с этим
S>механизмом, и началась такая история.

Вот когда очень распухает, я создаю пустую базу, и импортирую в нее все объекты — таблицы, запросы, формы, отчеты, модули. Мне таким образом удавалось сократить с 30МБ до 5-6МБ.
Пользователь — друг программиста!
Re[8]: Corrupt Access
От: Slam Россия  
Дата: 20.04.04 11:24
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Вот когда очень распухает, я создаю пустую базу, и импортирую в нее все объекты — таблицы, запросы, формы, отчеты, модули. Мне таким образом удавалось сократить с 30МБ до 5-6МБ.


А кстати вроде Compact & Repair в таких
случаях и используют, чтобы потереть
информацию накопившуюся, нет?
Re[9]: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 11:59
Оценка:
Здравствуйте, Slam, Вы писали:

E_>>Вот когда очень распухает, я создаю пустую базу, и импортирую в нее все объекты — таблицы, запросы, формы, отчеты, модули. Мне таким образом удавалось сократить с 30МБ до 5-6МБ.


S>А кстати вроде Compact & Repair в таких

S>случаях и используют, чтобы потереть
S>информацию накопившуюся, нет?

Я не знаю, что должно быть в теории, но на практике для FE Сжать и восстановить практически ничего не дает, для базы с таблицами — да, а c формами, отчетами и модулями уменьшается на копейки. Поэтому я и делаю импорт в пустую базу, что дает уменьшение размера в разы. Я имею в виду именно Access XP, кажется, с 2000 не так разбухает.
Пользователь — друг программиста!
Re[8]: Corrupt Access
От: glyph  
Дата: 20.04.04 13:15
Оценка:
Здравствуйте, Elena_, Вы писали:
E_>Вот когда очень распухает, я создаю пустую базу, и импортирую в нее все объекты — таблицы, запросы, формы, отчеты, модули. Мне таким образом удавалось сократить с 30МБ до 5-6МБ.
В 97 офисе есть дефрагментация базы — "сжать базу". Но почему-то при этом теряется сортировка. В офис 2К — тоже так?
Re[9]: Corrupt Access
От: Elena_ Россия  
Дата: 20.04.04 13:21
Оценка:
Здравствуйте, glyph, Вы писали:

G> В 97 офисе есть дефрагментация базы — "сжать базу". Но почему-то при этом теряется сортировка. В офис 2К — тоже так?


А что значит — теряется сортировка, в самих таблицах никакой сортировки в принципе нет, а в запросах она прописана в тексте запроса?

Порядок записей в таблицах, если открывать таблицу, конечно, может и поменяться, но он и не обязан быть каким-то постоянным.
Пользователь — друг программиста!
Re[10]: Corrupt Access
От: glyph  
Дата: 22.04.04 12:00
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Здравствуйте, glyph, Вы писали:

E_>Порядок записей в таблицах, если открывать таблицу, конечно, может и поменяться, но он и не обязан быть каким-то постоянным.
Именно тут. Перестает правильно сортировать поля с русским текстом при принудительно сортировке по полю. Кажется, глюк 97го Аксесса...
При сжатии базы Access теряется сортировка
От: Elena_ Россия  
Дата: 22.04.04 14:00
Оценка:
#Имя: FAQ.msoffice.access.sort
Здравствуйте, glyph, Вы писали:

G> Именно тут. Перестает правильно сортировать поля с русским текстом при принудительно сортировке по полю. Кажется, глюк 97го Аксесса...


Вообще-то, если на закладке Общие в параметрах поменять порядок сортировки (database sort order), то новый порядок сортировки вступает в силу только после сжатия.

См.например:

ACC2000: How Windows Regional Settings Affect Microsoft Access

NOTE: When you change your regional settings, the Database Sort Order on the General tab of the Options dialog box on the Tools menu changes to match the country that you select. However, to update existing databases to the new sort order, you must run the Compact Database command on these databases.

ACC2000: "Selected Collating Sequence Not Supported" Error Message


Хотя, может быть, в 97 что-то и глючит.
Пользователь — друг программиста!
Re[12]: Corrupt Access
От: glyph  
Дата: 24.04.04 10:34
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Здравствуйте, glyph, Вы писали:


G>> Именно тут. Перестает правильно сортировать поля с русским текстом при принудительно сортировке по полю. Кажется, глюк 97го Аксесса...


E_>Вообще-то, если на закладке Общие в параметрах поменять порядок сортировки (database sort order), то новый порядок сортировки вступает в силу только после сжатия.


E_>Хотя, может быть, в 97 что-то и глючит.

Век живи — век учись. Спасибо за науку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.