?
Solved

VB ms access listbox and displaying selected item

Posted on 2009-05-04
11
Medium Priority
?
2,440 Views
Last Modified: 2013-12-20
I have got a list box with multiple select switched on, which is living on an access form and the code below works and can pick between the selected items and the not selected items,

but cannot figure out the syntax to display the item values that have been selected out of the list box

not quite sure what the syntax is

thanks in advance
For x = 0 To List23.ListCount - 1
        If List23.Selected(x) = True Then
                                                                        MsgBox List23.Selected (x) 
 
*********  display in here the syntax to display the value of the listbox  ***********
 
            msgbox "selected"
        else 
              msgbox "not selected"
 
        End If
    Next x

Open in new window

0
Comment
Question by:sydneyguy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
  • 2
  • +1
11 Comments
 
LVL 85
ID: 24293699
You can refer to them as such

List23.column(x,0)

would show the FIRST column for tha row (columns are zero-based).

Also, you can use the ItemsSelected collection to show ONLY those items that have been selected, without iterating the entire list:

dim var As variant

for each var in List23.ItemsSelected
  '/do something here
Next var
0
 
LVL 33

Expert Comment

by:jppinto
ID: 24293743
lstTest.ItemsSelected.Item(x) will give you the value from the x value selected in the listbox.
0
 
LVL 33

Assisted Solution

by:jppinto
jppinto earned 600 total points
ID: 24293755
Or you could do something like this that will give you a string with all the values selected separeted by a ",".
With Me.List23
        If .ItemsSelected.Count > 0 Then
            For Each I In .ItemsSelected
                MyString = ItemData(I) & Chr(39) & ", " & MyString
            Next I
        End If
End With

Open in new window

0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 

Author Comment

by:sydneyguy
ID: 24293766
List23.ItemsSelected.Item (x)
throws up a " invalid use of property "  ?????
0
 
LVL 85

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 1200 total points
ID: 24293793
Actually mine should read

List23.ItemsSelected(0, x)

See her for more info on the ItemsSelected property:
http://msdn.microsoft.com/en-us/library/aa196172(office.11).aspx
0
 

Accepted Solution

by:
sydneyguy earned 0 total points
ID: 24293797
With Me.List23
        If .ItemsSelected.Count > 0 Then
            For Each i In .ItemsSelected
                MyString = ItemData(i) & Chr(39) & ", " & MyString
            Next i
        End If
End With

does not run but after I
dim an array for ItemData(i)  it  now throws up ItemData(i)  type mismatched
0
 
LVL 85
ID: 24293824
ItemData is a property of your listbox; you must tell Access what to use:

List23.ItemData(i)

See the link I posted above for syntax and usage of the ItemsSelected property.
0
 

Author Comment

by:sydneyguy
ID: 24293844

    For i = 0 To List23.ListCount - 1

        If List23.Selected(i) = True Then
            MsgBox List23.Column(0, i)
            lstItem = lstItem & "," '& List1.List(x)
         
         Else
         
        End If
    Next i

does the job that will roll through the listbox and allow me to extract the data from the box
thanks every one
0
 
LVL 85
ID: 24293885
Glad this works, but if you get time I'd change this to use the ItemsSelected property of that listbox ... it's nit-picky, but there's just no reason to cycle through every item in that Listbox when the ItemsSelected property is available.
0
 

Author Comment

by:sydneyguy
ID: 24312493
now that I have something that actually works I will refine as per your suggestion, just so frustrating when you know that you have doen it before but just cannot find the code to show how, but now it works I will refine thanks for alll your help
garry
0
 
LVL 31

Expert Comment

by:Helen Feddema
ID: 24963923
Here is some code for iterating through the ItemsSelected collection of a listbox.  Instead of setting a variable, you could (for example) display the item value in the Immediate Window, write it to a text file, or whatever.  Note that varItem should be declared as a variant, because the items in different listboxes might be of different date types.  You could make it another type depending on what is in your listbox.
   For Each varItem In lst.ItemsSelected
 
      lngID = Nz(lst.Column(0, varItem))
   
   Next varItem

Open in new window

0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Suggested Courses
Course of the Month8 days, 3 hours left to enroll

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question