By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,564 Members | 804 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,564 IT Pros & Developers. It's quick & easy.

ItemsSelected Seems not to work

P: n/a
I am working with a multi select list box in access. The code is:

Sub MoveToCustomer2()
Dim frm As Form, Ctl As Control
Dim varItem As Variant
Set frm = Forms!frmResolveCustomers
Set Ctl = frm!lstUnassigned
For Each varItem In Ctl.ItemsSelected
Debug.Print varItem
Debug.Print Ctl.Column(0)
Next varItem
End Sub

If I select items 2, 3, 6and 8 the program prints 1,2,5,7 which is correct
(zero based)but for
ctl.Column(0) it prints the value of the first selectedItems for each of the
4 selected records.

They should all be different.

Is the reference to the column wrong?
Thx

Kevin
Jun 27 '08 #1
Share this Question
Share on Google+
2 Replies


P: n/a
KC-Mass wrote:
I am working with a multi select list box in access. The code is:

Sub MoveToCustomer2()
Dim frm As Form, Ctl As Control
Dim varItem As Variant
Set frm = Forms!frmResolveCustomers
Set Ctl = frm!lstUnassigned
For Each varItem In Ctl.ItemsSelected
Debug.Print varItem
Debug.Print Ctl.Column(0)
Next varItem
End Sub

If I select items 2, 3, 6and 8 the program prints 1,2,5,7 which is correct
(zero based)but for
ctl.Column(0) it prints the value of the first selectedItems for each of the
4 selected records.

They should all be different.

Is the reference to the column wrong?
Yes.

'this returns the index
Private Sub Command1_Click()
Dim var As Variant
For Each var In Me.List0.ItemsSelected
MsgBox var
Next
End Sub

'this returns the values using the index. You can
'also use ItemData as well to get the value per online help.
Private Sub Command2_Click()
Dim var As Variant
For Each var In Me.List0.ItemsSelected
MsgBox Me.List0.Column(0, var) & " " & Me.List0.Column(1, var)
Next
End Sub

'this returns the values using a counter
Private Sub Command3_Click()
Dim intFor As Integer
For intFor = 0 To Me.List0.ListCount - 1
If Me.List0.Selected(intFor) Then
MsgBox Me.List0.Column(0, intFor) & " " &
Me.List0.Column(1, intFor)
End If
Next

End Sub

Garden Party
http://www.youtube.com/watch?v=O_exY9ptMbA
>
Thx

Kevin

Jun 27 '08 #2

P: n/a
Thanks Much!

Kevin

"Salad" <oi*@vinegar.comwrote in message
news:OP******************************@earthlink.co m...
KC-Mass wrote:
>I am working with a multi select list box in access. The code is:

Sub MoveToCustomer2()
Dim frm As Form, Ctl As Control
Dim varItem As Variant
Set frm = Forms!frmResolveCustomers
Set Ctl = frm!lstUnassigned
For Each varItem In Ctl.ItemsSelected
Debug.Print varItem
Debug.Print Ctl.Column(0)
Next varItem
End Sub

If I select items 2, 3, 6and 8 the program prints 1,2,5,7 which is
correct (zero based)but for
ctl.Column(0) it prints the value of the first selectedItems for each of
the 4 selected records.

They should all be different.

Is the reference to the column wrong?
Yes.

'this returns the index
Private Sub Command1_Click()
Dim var As Variant
For Each var In Me.List0.ItemsSelected
MsgBox var
Next
End Sub

'this returns the values using the index. You can
'also use ItemData as well to get the value per online help.
Private Sub Command2_Click()
Dim var As Variant
For Each var In Me.List0.ItemsSelected
MsgBox Me.List0.Column(0, var) & " " & Me.List0.Column(1, var)
Next
End Sub

'this returns the values using a counter
Private Sub Command3_Click()
Dim intFor As Integer
For intFor = 0 To Me.List0.ListCount - 1
If Me.List0.Selected(intFor) Then
MsgBox Me.List0.Column(0, intFor) & " " & Me.List0.Column(1,
intFor)
End If
Next

End Sub

Garden Party
http://www.youtube.com/watch?v=O_exY9ptMbA
>>
Thx

Kevin

Jun 27 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.