В listbox.multiselect отзывается лишь последний выбранный элемент - VBA
Формулировка задачи:
Доброе что-то.
Использую Access 2013 года. Есть проблема со списком. Необходимо организовать список, выбрать оттуда несколько элементов и изменить у них один параметр. В итоге я выбрал Multiselect "простой" (в 2013 нет "несвязанного"). Позже я пробовал и связанный, но результата всё равно нет. И так, проблема: когда начинаю обрабатывать список, то обрабатывается лишь последний выбранный элемент, но не все выделенные. Пробовал использовать цикл For each. В интернете нашел, что в предыдущих акцесах режим "Простой" как раз работал лишь с одним элементом списка, и необходимо выбрать "несвязанный". Но его нет! Хелп, люди.
Вот такой код:
Листинг программы
- Dim zay As DAO.Recordset
- Set zay = CurrentDb.OpenRecordset("Zayavki", dbOpenDynaset)
- Dim varItem As Variant
- Dim i As Integer
- Dim lst As Access.ListBox
- Set lst = zayavki_
- If lst.ItemsSelected.Count = 0 Then
- MsgBox "bla bla bla", vbOKOnly, " Error"
- Exit Sub
- End If
- For i = 0 To lst.ListCount - 1
- If lst.Selected(i) Then
- zay.FindFirst "[code] =" & Me.zayavki_Column(0)
- zay.Edit
- zay.Fields("print") = True
- zay.Update
- End If
- Next i
- zay.Close
- Set zay = Nothing
- DoCmd.OpenReport "Otvet", acViewReport
Решение задачи: «В listbox.multiselect отзывается лишь последний выбранный элемент»
textual
Листинг программы
- For i = 0 To lst.ListCount - 1
- If lst.Selected(i) Then
- zay.FindFirst "[code] =" & Me.zayavki_Column(0)
- zay.Edit
- zay.Fields("print") = True
- zay.Update
- End If
- Next i
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д