• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 321
  • Last Modified:

Am I missing something simple?

Hi all, Not sure what is going on here, so any help would be appreciated.

I have a form in access 2003 with a list box control.  For the Double Click event I have the following code;

Dim i as Integer
For i = Me.ListBoxName.ListCount - 1 To 0 Step - 1
If Me.ListBoxName.Selected(i) Then Me.ListBoxName.RemoveItem i
Next i

This works perfectly.

The problem;

I have another form in the same database with a list box control with exactly the same code for the Double Click event, however it will remove multiple items at a time.  There is no multi select for either list box.

Got me stumped??
0
DockieBoy
Asked:
DockieBoy
  • 6
  • 5
  • 2
1 Solution
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Can you upload the db?

mx
0
 
DockieBoyAuthor Commented:
It's in progress, just started and very messy, lol.  The forms with the list boxes in question are ZoneData and ControlEquipmentData
Bass.mdb
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Which forms and how do I reproduce the issue ?

mx
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
DockieBoyAuthor Commented:
Open db normally, on the left hand side form click the sites button.  Check the "mon code" option button and type 1234 into the text box.  Press enter, select yes on the message box.  Click the button with the right arrow at the bottom right hand corner of the pop up form.  The Form will change to "Equipment Data".  Use the "Equipment Type" combo box to select an equipment type, enter some text in the "location text box" and hit enter.  This will add the item to the list box.  Add several items.  Double Click on items in various positions in the list box and watch the crazyness begin, lol.  If you use the button with the right arrow to navigate to the "Zone List" form, you can perform the same steps and see that it all works fine there.
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Yeah ... I see the issue.  No apparent reason.

Here is my suggestion, since I have to sign off for the night.

Instead of the Double Click ... forget that ... and instead, add a Button next to the List box ... and use the same code.

I have a feeling this will fix the issue ... at least try this as a test.

mx
0
 
DockieBoyAuthor Commented:
Lol, crazy db!  Still same problem, i shall keep playing around and see what I can figure out.  Thanks for your help. :)
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Really!  Damn.

Ok ... replace that list box with a new one.
And do a Compact and Repair on the db for good measure - delete that list box first - keep code in Notepad. Compact & Repair ... and a new list box and put code back in.

mx
0
 
DockieBoyAuthor Commented:
Still no good, this is strange.  Might have to code it differently.  It's not multi select so I can do it another way i guess.  :)
0
 
Neil RussellTechnical Development LeadCommented:
Change your code to this

Dim i as Integer
For i = Me.ListBoxName.ListCount - 1 To 0 Step - 1
    If Me.ListBoxName.Selected(i)
        Me.ListBoxName.RemoveItem i
        EXIT FOR
    END IF
Next i

 
0
 
DockieBoyAuthor Commented:
Well I'll be.  Problem solved.  Thanks so much for your help.  Just out of curiosity though, any idea why it works on one list box but not another?
0
 
Neil RussellTechnical Development LeadCommented:
Not a clue :P
0
 
DockieBoyAuthor Commented:
Lol, well that makes two of us.  Think I might change the code for the other one to prevent any future problems.
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
It's a timing issue with the list box and the double clicking ... a 2nd item actually gets selected while the loop is in progress.  The Exit For avoids that ... and I should have seen that.

mx
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 6
  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now