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

 

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

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

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

ник: Анатолий (Киев)

MYDB.TableDefs.Delete Tabl.Name
работает, но не с первого раза. Приходится его несколько раз запустить, чтобы он все таблицы удалил (если кто знает, почему так, напишите).

Когда вы удаляете элемент из коллекции, то индексы оставшихся объектов перенастраиваются. Например, после удаления элата с индексом 2 - 3-й элементт становится 2-м, а 4-й - 3-м.
Если это делается в цикле по коллекции в прямом направлении (по возрастанию индекса), то после удаления 2-го элемента следующим будет 4-й, а 3-й "затаился".
Поэтому множественное удаление элементов коллекции нужно выполнять в обратном цикле, т.е.:
For i  = MYDB.TableDefs.Count-1 To 0 Step -1
  MYDB.TableDefs.Delete MYDB.TableDefs(i).Name
Next 


Ваше имя:

Пароль:

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

Сообщение:

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

Прикрепить:

 

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