Re: multi-select listbox question



> Thanks a lot. That worked great.

you're welcome. :)
that's only the second time i've ever used the ItemsSelected and ItemData
properties of a listbox in VBA (and the second time within the past couple
weeks), so i'm happy to have a chance to practice!

> Me!txtTotal = Me!txtTotal + ctrl.Column(1,varItm))

i was already familiar with the Column property of listboxes (and combo
boxes), but i couldn't figure out how to get it to work within the context
of ctrl.ItemsSelected. thanks for sharing the correct syntax with me - now
i've learned a few new things out of this thread! :)


"jb" <sbormail@xxxxxxxxxxxxxxx> wrote in message
news:ua2Bz%238kFHA.3552@xxxxxxxxxxxxxxxxxxxxxxx
> Hi Tina,
>
> Thanks a lot. That worked great. I checked out help and found out how to
> do summing on any column. You can use the Column property. I pasted the
> help screen below and changed the code. Again, thanks and hope this helps
> you out a bit too. Hope you can read it. It pasted a bit strange.
>
> John
>
> --snip--
>
> For Each varItm In ctrl.ItemsSelected
> '''''''Me!txtTotal = Me!txtTotal + ctrl.ItemData(varItm)
> Me!txtTotal = Me!txtTotal + ctrl.Column(1,varItm)) ' the 1 could
> be any column you want to sum
> Next
>
>
> You can use the Column property to refer to a specific column, or column
and
> row combination, in a multiple-column combo box or list box. Use 0 to
refer
> to the first column, 1 to refer to the second column, and so on. Use 0 to
> refer to the first row, 1 to refer to the second row, and so on. For
> example, in a list box containing a column of customer IDs and a column of
> customer names, you could refer to the customer name in the second column
> and fifth row as:
> Forms!Contacts!Customers.Column(1, 4)Setting
>
> control.Column(column, row)
>
> The Column property uses the following settings.
>
> Setting Description
> control A Control object that represents the active combo box or
list
> box control.
> column An integer that can range from 0 to the setting of the
> ColumnCount property minus one.
> row Optional. An integer that can range from 0 to the setting of the
> ListCount property minus 1.
>
>
> This property setting is only available by using a macro or Visual Basic.
> This property setting isn't available in Design view and is read-only in
> other views.
>
> Remarks
>
> You can use the Column property to assign the contents of a combo box or
> list box to another control, such as a text box. For example, to set the
> ControlSource property of a text box to the value in the second column of
a
> list box, you could use the following expression:
>
> =Forms!Customers!CompanyName.Column(1)If the user has made no selection
when
> you refer to a column in a combo box or list box, the Column property
> setting will be Null. You can use the IsNull function to determine if a
> selection has been made, as in the following example:
>
> If IsNull(Forms!Customers!Country)
> Then MsgBox "No selection."
> End IfNote To determine how many columns a combo box or list box has,
you
> can inspect the ColumnCount property setting.
>
> "tina" <nospam@xxxxxxxxxxx> wrote in message
> news:Vn%Fe.499955$cg1.205027@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> >i used the following on a listbox's Click event to cycle through only the
> > selected items, and add up the prices. one point: the BoundColumn of
the
> > listbox has to be the column that holds the prices - at least i couldn't
> > get
> > it to do accurate addition on a non-bound column. in the following code,
> > the
> > name of my listbox is lstItems, and the running total price is displayed
> > in
> > an unbound textbox called txtTotal.
> >
> > Private Sub lstItems_Click()
> >
> > Dim varItm As Variant, ctrl As ListBox
> >
> > Set ctrl = Me!lstItems
> >
> > If ctrl.ItemsSelected.Count = 0 Then
> > Exit Sub
> > End If
> >
> > Me!txtTotal = 0
> > For Each varItm In ctrl.ItemsSelected
> > Me!txtTotal = Me!txtTotal + ctrl.ItemData(varItm)
> > Next
> >
> > End Sub
> >
> > hth
> >
> >
> > "jb" <sbormail@xxxxxxxxxxxxxxx> wrote in message
> > news:%23kjF0BykFHA.3968@xxxxxxxxxxxxxxxxxxxxxxx
> >> In access 2000, I have a list box which contains items and their
prices.
> > I
> >> want to keep a running total of what the person has selected as they
are
> >> selecting/unselecting items in the listbox. Can this be done in the
> > onclick
> >> event somehow with a direct reference to the row just selected or
> >> unselected? Or do I have to use the AfterUpdate event and cycle
through
> >> each row to see if it is selected and tally my total that way? Thanks
a
> >> lot.
> >>
> >> John
> >>
> >>
> >
> >
>
>


.



Relevant Pages

  • Re: Listbox acts like it is bound when it is not
    ... I have since written some code to populate and unpopulate the listbox ... that is happening to the listbox control that I do not understand. ... event of the combo box requeries the list box, ... setting the list selection) all indicate that the control must be ...
    (microsoft.public.access.formscoding)
  • Re: Multiselect Listbox woes
    ... If your listbox is RowSource'd to an array or you AddItemthe selection ... items your multiselect will work fine. ... then tabs to another control or clicks ...
    (microsoft.public.fox.programmer.exchange)
  • Re: selectedindex of multiple listbox selection in a datagrid
    ... Since you are using a TemplateColumn, and you control the ID, it is ... you loop through the listbox items to see which ones ... Private Sub Page_Load(ByVal sender As System.Object, ... I have a listbox with multiple selection mode inside datagrid. ...
    (microsoft.public.dotnet.framework.aspnet)
  • RE: Unexpected behaviour of Listbox MultiSelect
    ... As for the asp.net listbox multiple selection problem (when there has ... So when using ListBox control with mutiple selection, ...
    (microsoft.public.dotnet.framework.aspnet.webcontrols)
  • Re: multi-select listbox question
    ... You can use the Column property. ... Use 0 to refer ... control A Control object that represents the active combo box or list ... selection has been made, ...
    (microsoft.public.access.forms)

Quantcast