Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Удаление папки vba  [new]
vasiaman86
Member

Откуда:
Сообщений: 5
Здравствуйте форумчане. Прошу помощи.
Есть архив с файлами dbfю Нужно средствами vba розархивировать его, Сделать линки таблиц dbf (процедура открытие формы), Провести заполнение при помощи запросов. А затем заархывыровать обратно и удалить временную папку (процедура закрытия формы). Получается все кроме удаления папки. Пробовал Shell и Fso результат тот же папка блокируется но не удаляется, исчезает после закрытия базы данных

К сообщению приложен файл (forum.zip - 45Kb) cкачать
17 фев 21, 16:16    [22282359]     Ответить | Цитировать Сообщить модератору
 Re: Удаление папки vba  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 616
Для начала пара важных замечаний:
1. Ваши DBF файлы имеют имена более 8 символов. Родной драйвер их не примет, а это значит, что у вас в системе установлено ядро BDE (Borland Database Engine) и на соседнем компе может не взлететь (как и у меня без BDE).
2. Поддержка DBF файлов отключена в офисе 2013 (если не ошибаюсь, кстати только в Аксе или в Ёкселе тоже? Я завис на 2010-м.) и это еще одна засада для вас. Вам стоит подумать над изменением стратегии доступа к этим файлам. Например "OLE DB Provider for Visual FoxPro" или примочки для прямого доступа к DBF (без драйверов). ODBC нежелательно.

Теперь по теме:
Вы распаковываете все файлы из архива в новую папку с именем архива, линкуете DBF файлы , а после обработки архивируете (в примере это заремлено) и пытаетесь удалить папку вместе с файлами. Мои советы:
1. Не вижу смысла в создании и удалении отдельной папки. Проще иметь конкретную папку, из которой в начале (и в конце) удалять все файлы.
2. Извлекать из архива и обновлять его можно файлами по маске (например *.dbf)
3. Запросы можно строить прямо на dbf файлах (строка подключения) и отказаться от мороки с созданием/удалением таблиц.
4. Ни Fso, ни Shell "cmd /c rd..." (ИМХО) не позволяют удалить папку с файлами. Сначала нужно ее очистить. Поэтому см. п.1
19 фев 21, 15:24    [22283543]     Ответить | Цитировать Сообщить модератору
 Re: Удаление папки vba  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 5182
Кривцов Анатолий
Поддержка DBF файлов отключена в офисе 2013 (если не ошибаюсь, кстати только в Аксе или в Ёкселе тоже? Я завис на 2010-м.)
уже всё вернули взад. На 2016 нужно установить патч, в 2019 из коробки.
19 фев 21, 16:31    [22283587]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить