В listbox.multiselect отзывается лишь последний выбранный элемент - VBA

Узнай цену своей работы

Формулировка задачи:

Доброе что-то. Использую Access 2013 года. Есть проблема со списком. Необходимо организовать список, выбрать оттуда несколько элементов и изменить у них один параметр. В итоге я выбрал Multiselect "простой" (в 2013 нет "несвязанного"). Позже я пробовал и связанный, но результата всё равно нет. И так, проблема: когда начинаю обрабатывать список, то обрабатывается лишь последний выбранный элемент, но не все выделенные. Пробовал использовать цикл For each. В интернете нашел, что в предыдущих акцесах режим "Простой" как раз работал лишь с одним элементом списка, и необходимо выбрать "несвязанный". Но его нет! Хелп, люди. Вот такой код:
Листинг программы
  1. Dim zay As DAO.Recordset
  2. Set zay = CurrentDb.OpenRecordset("Zayavki", dbOpenDynaset)
  3. Dim varItem As Variant
  4. Dim i As Integer
  5. Dim lst As Access.ListBox
  6. Set lst = zayavki_
  7. If lst.ItemsSelected.Count = 0 Then
  8. MsgBox "bla bla bla", vbOKOnly, " Error"
  9. Exit Sub
  10. End If
  11. For i = 0 To lst.ListCount - 1
  12. If lst.Selected(i) Then
  13. zay.FindFirst "[code] =" & Me.zayavki_Column(0)
  14. zay.Edit
  15. zay.Fields("print") = True
  16. zay.Update
  17. End If
  18. Next i
  19. zay.Close
  20. Set zay = Nothing
  21. DoCmd.OpenReport "Otvet", acViewReport

Решение задачи: «В listbox.multiselect отзывается лишь последний выбранный элемент»

textual
Листинг программы
  1. For i = 0 To lst.ListCount - 1
  2.         If lst.Selected(i) Then
  3.             zay.FindFirst "[code] =" & Me.zayavki_Column(0)
  4.             zay.Edit
  5.             zay.Fields("print") = True
  6.             zay.Update
  7.            
  8.         End If
  9.   Next i

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы