На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! `
Не забудьте заглянуть в VB6 FAQ, так как большая часть VB-примеров актуальна и для VBA-раздела ;)
Модераторы: Old Bat, MIF
  
    > Работа с коллекцией объектов
      Используйте цикл FOR EACH X in… NEXT для обработки коллекции

      При каждой итерации Х будет содержать ссылку на следующий элемент коллекции, соответственно, работа с элементами коллекции значительно упрощается
      Исключение: если Вам надо перебрать элементы в порядке, отличном от того, в котором они были добавлены в коллекцию – выбор у Вас отсутствует: только FOR … NEXT , т.к. у FOR EACH … нет параметров, управляющих порядком его выполнения (STEP)

      см. также Работа с циклами

      Удаляйте элементы из коллекции «Сверху-вниз»
      ExpandedWrap disabled
        Dim col as New Collection
        For j=col.Count to 1 step -1
        '''''''''''''''''''''''''''
        Col.Remove j
        Next

      При таком варианте кода удалять элементы проще, т.к. при этом индексы элементов коллекции не изменяются.

      Не удаляйте элементы из коллекции для ее очистки

      Для очистки коллекции можно сделать так:
      ExpandedWrap disabled
        Dim col as New Collection
        For j=col.Count to 1 step -1
        Col.Remove j
        Next

      Но гораздо быстрее будет так:
      ExpandedWrap disabled
        Set col= New Collection

      так как в данном случае Вы просто освобождаете ссылку на исходную коллекцию


      Использованы материалы: "From Access 2002 Desktop Developer's Handbook"
      Litwin, Getz, and Gunderloy. (Sybex, 2001)
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0155 ]   [ 16 queries used ]   [ Generated: 23.04.24, 15:44 GMT ]