Question

Converting a VB6 lookup-datacombo to VB.NET

Asked by: hveluwen

I'm in the process of converting a large ADO based VB6 database application to VB.NET. There are about 70 dataforms, and most of them have one or more datacombos on them that operate as lookup combos, using the DataField, BoundColumn, ListField, RowSource and DataSource properties.

For the time being, I want to continue to use ADO (2.7) rather than ADO.NET, maybe perform that conversion at a later stage.

The VB6 Conversion Wizard converts VB6's DataCombo controls into AxMSDataListLib.AxDataCombo controls that lack the DataField and DataSource properties; there is no code generated to add any data bindings to the combo boxes.

So my question is: can the AxMSDataListLib.AxDataCombo control be programmed to behave exactly as a VB6 DataCombo control as a lookup combo?


Thanks

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2003-09-22 at 08:08:36ID20745194
Tags

datacombo

,

vb6

Topic

.NET

Participating Experts
4
Points
0
Comments
7

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. VB6 or VB.NET ?
    Hi, I am going to develop a program by using VB. After the program is built up, it will be distributed through the Internet. So I want to keep the size of the whole program as SMALL as possible. As I know, programs developed by VB.NET need a large library in addition to you...
  2. VB.NET ADO.NET DataSet
    I am just now converting myself to VB.NET from VB6. I am used to querying a database for multiple records and then jumping back and forth through the records using the ADO RecordSet object such as RecordSet.MoveNext or RecordSet.MovePrevious. I have been reading all about t...
  3. Convert VB6 ado crystal reports to vb.net
    I have a large number of Crystal reports from a previous system that was written in VB6 that have the data passed to them via ADO. I have a new system developed on the DB side that handles the DB task but need ot be able to tie it to the Crystal reports from the previous syst...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: morphinexPosted on 2003-09-22 at 08:20:58ID: 9406334

hveluwen, I feel your pain.  I really do.

We didn't know what to do back when we converted from VB6 to VB.NET ~ we were using some kind of weird global modules that imports SQL Stored Procedures that could be used as recordsets and datafields in combo boxes.  

The converter didn't like that, and we had countless errors popping up left and right.  We started month long project to convert every single combo box from databinding to doing crazy loops like this one...

    Dim rs_ThisRecordSet As Recordset
   
    Set rs_ThisRecordSet = mRS_Global.m_rsdbo_LoadSomeThing
    Do Until rs_ThisRecordSet.EOF
        thisComboBox.AddItem Trim$(rs_ThisRecordSet.Fields("FieldName").value)
        rs_ThisRecordSet.MoveNext
    Loop
    Call rsOpen(rs_ThisRecordSet, False)


...  I replaced so many combo boxes.. it was crazy.  I even made little programs where I would stick in the combo box name, the stored procedure name, and the field name, and it'd generate code to throw into the form.  

Anyway, I hope someone will come up a better answer than what I've given...  

Best of luck!

 

by: mondayblueboyPosted on 2003-09-24 at 03:36:15ID: 9419590

Just curious, what's the AxMSDataListLib.AxDataCombo? I tried to search in google, yahoo, MSN, microsoft, MSDN and get no result.

 

by: morphinexPosted on 2003-09-24 at 05:54:59ID: 9420234

mondayblueboy,

I've put the AxMSDataListLib.DLL onto my website, take a look at it.  

http://www.rodtv.com/SourceCodes/MSDataListLib.rar

To use it, just make a normal combobox, and change from System.Windows.Forms.ComboBox to AxMSDataListLib.AxDataCombo

 

by: hveluwenPosted on 2003-09-24 at 06:06:58ID: 9420321

The upgrade wizard translates all ActiveX Form Controls into .NET compatible AxtiveX controls; only a few controls like the textbox are translated into native .NET controls. AxMSDataListLib.AxDataCombo is the .NET compatible version of the DataCombo component. These translated controls and the methods that they need are completely undocumented; it's up to you to discover just how compatible they are and how they work. One crucial difference is Databinding; there are no Datasource properties, you use the VB6.MBindingCollection.Add method which is AFAIK also undocumented in MSDN... :(((((

Now, I'm already able to *manually* program the AxMSDataListLib.AxDataCombo:

- Set the lookup ADOrecordset bookmark to the key that corresponds in the main recordset using the rs.Find method;
- Set the RowSource property of the lookup combo to the lookup recordset;
- Set the ListField property of the combo to the name of the description column in the rs;
- Set the CtlText property of the combo to the value of the description column in the rs;

When the user clicks OK:
- Retrieve the combo's SelectedItem into an object variable BM
- Set the lookup recordset BookMark to this BM variable (now it's synchronised with the selected value)
- Set the column in the main recordset to the value in the lookup recordset

Finally update and close the main recordset.

OK, this works. No need to write a loop for the lookup recordset to fill the combo! Seven lines of code per lookup combo, so it can be done. But it's not nearly as elegant as the original VB6 databinding code, where you create automatic lookup combo's by assigning just five properties. So I'm still wondering if this can be accomplished by using the VB6.MBindingCollection.Add method...

Hans.
 

 

by: mondayblueboyPosted on 2003-09-24 at 08:49:53ID: 9421717

morphinex
Thanks

 

by: TheLearnedOnePosted on 2003-12-30 at 10:24:42ID: 10017533

No comment has been added lately, so it's time to clean up this TA.
I will leave the following recommendation for this question in the Cleanup topic area:

PAQ with points refunded

Please leave any comments here within the next seven days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

TheLearnedOne
EE Cleanup Volunteer

 

by: SpazMODicPosted on 2004-01-06 at 00:52:16ID: 10050603

PAQed, with points refunded (500)

SpazMODic
EE Moderator

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...