На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania 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 пользователей:


      [ Script Execution time: 0,1341 ]   [ 16 queries used ]   [ Generated: 28.11.14, 02:46 GMT ]  

      Rambler's Top100