Expiring Today—Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


DataCombo (DBCombo) Returning Wrong Value

Posted on 2000-02-13
Medium Priority
Last Modified: 2008-03-03
The problem is actually in the DBLIST32.OCX file that ships with VB 6, and by using an old version of DBLIST32.OCX from VB 5, the problem goes away.

If you set up one text box bound to one data control, and the DBCombo bound to anoter Data Control, with the below settings, and put two msgBox lines, displaying which record value you have selected, in the Change event, the msgBoxes will have two different values.  See the steps below.  The same code in the Click event, seems to work.  If the Change does work, then if you move the code to the Click, it works, but if you move it back to the Change, it stops working.  Also, I am not getting the textbox, via the other data control, to show the name selected.  Any ideas?

Side Effect:
Unfortunately, if a VB5 application is installed on a machine, then someone else installs an application written with VB 6 that includes DBLIST32.OCX, it will update the file, thereby "breaking" the application!

Sample Steps and Code:
Below is a "simplified" set of steps to create the problem from a blank project using the Microsoft "standard" MDB file "biblio".

1. Create a new project
2. From Project, Components, add Microsoft Data Bound List Controls 6.0
3. Place a data control on the form.
     Name: dataTitles
     Databasename: Biblio
     RecordSource: Titles
4. Place a data control on the form.
     Name: dataPub
     Databasename: Biblio
     RecordSource: Publishers
5. Place a textbox on the form.
     DataSource: dataTitles
     DataField: Title
6. Place a DBCombo on the form.
     RowSource: dataPub
     ListField: Name
     BoundColumn: PubID
     DataSource: dataTitles
     DataField: PubID
7. Add this code to the Change event for DBCombo1
      MsgBox DBCombo1.Text & " " & DBCombo1.BoundText
      MsgBox DBCombo1.Text & " " & DBCombo1.BoundText
8. Run the program. Choose a different publisher from the dropdown.
9. Two message boxes will be displayed with different results in each. There is no reason why the values should change between the two MsgBox statements!
10. Move the code from the Change to the Click event for DBCombo1.
11. Run the program, and choose a different publisher from the dropdown.
12. Both MsgBox statements show the same value this time!
Question by:MMILLER
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
  • 3
  • 2
LVL 32

Expert Comment

ID: 2517199
"FIX: Change Event Not Fired When Selecting an Item in DBCombo"


Author Comment

ID: 2517459
Does that go for VB6?  The article is about VB5.

LVL 32

Accepted Solution

Erick37 earned 210 total points
ID: 2517494
The previous article refers to VB5, prior to the service pack updates.

MS has an example of using 2 data controls and a dbcombo:

"HOWTO: Synchronize Data on the Form with a dbCombo"

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Author Comment

ID: 2518507
One last comment.  The problem exists in VB6 using Data and DBCombo.  I have SP3, plus that data update they put out.

Is MS aware of the VB6 problem using those controls and have they fixed that yet?

And thanks for the sample.  I'll try that.

Expert Comment

by:Bhaskar Ganapathe
ID: 2530404
Hello MMiler,

I am getting the same answer with the
two msgboxes in the change event of
the dbcombo1.

I did the same way as you are given.
just try it and reply

Author Comment

ID: 2531258
>>I am getting the same answer with the
two msgboxes in the change event of
the dbcombo1.

I did the same way as you are given.
just try it and reply


Do you mean with Erick37's sample of "how to", which refers to VB5?

If you are saying that you get the correct answer with VB6 using my steps above, then I did get the correct answer, with the steps above, on my FIRST pass.  Then I changed it to Click, then back again, and it stopped working.  My steps above, definitely produce unstable results.  I still have to try the "how to" sample from Erick under my VB6, though.  I am going to accept and close out Erick's comment.  If it doesn't work, I will have to come back.


Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Suggested Courses

730 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