MyTetra Share
Делитесь знаниями!
Восстановление удалённой таблицы Access
16.03.2019
23:43
Раздел: !Закладки - VBA - Access

Восстановление удалённой таблицы Access

Пишу как памятку для самого себя. Нечаянно удалил нужную мне таблицу в Access-е, несколько часов лазил по интернету, искал, как её восстановить. Оказалось, такое простое дело везде описано так сложно и муторно, да ещё большинство способов не работают. (Не знаю почему, может, несовместимость версий Акцессов). Накачал тучу восстановительных программ, все были демоверсиями, нашёл одну крякнутую, после кряка заголовок поменялся с "Demo" на "Registered" - а восстанавливать всё равно не захотела, просит денег.

В общем, после долгих поисков наткнулся на http://am.rusimport.ru/MsAccess/topic.aspx?ID=310

Описанный там способ у меня тоже, естественно, не заработал. Тогда я прочитал самый последний комментарий:

---
В таких случаях я делаю примерно так:
CurrentDb.Execute "SELECT [~TMPCLP572131].* INTO [Таблица1] FROM [~TMPCLP572131];"
Где ~TMPCLP572131 имя из таблицы MSysObjects
---

Ничего не понял. Попробовал вставить соотв. код в модуль Visual Basic, не проканало. Осенило, вставил его в SQL-запрос. Опять не прошло. Опять осенило. Вот конечный итог моих прозрений:

1. Щёлкаем в Акцессе "Сервис - Параметры - Вид". Ставим галочку: показать системные объекты.

2. Открываем таблицу MSysObjects и находим в поле Name имя удалённой таблицы (должно выглядеть как ~TMPCL...).

3. Создаём SQL-запрос:
---
SELECT [~TMPCLP...].* INTO НоваяТаблица
FROM [~TMPCLP...];
---
где ~TMPCLP... - имя удалённой таблицы из предыдущего действия.

4. Сохраняем запрос под любым именем и запускаем на выполнение. Отвечаем "да" на все вопросы. В результате создаётся новая таблица с именем НоваяТаблица, являющаяся точной копией удалённой.

(Прим.: для успеха операции файл *.mdb после удаления таблицы не должен быть сжат. Кажется, закрывать окно базы после удаления таблицы тоже нельзя)

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования