Best way to communicate data to and from VB6 running Access databases and a mySQL database on the web?

The title pretty much says it.  I have a VB6 application that uses Access databases.  I now have the need to pass data to and from a mySQL database on a website.

I would need to import selected records (coded into Access through VB6), export new data to the database, and be able to update selected mySql records.

ODBC and all that does not seem to be an option as this app runs on 200+ stand-alone desktops across the US and I dont want to get into all the local modifications that would be necessary.  I have also read on this site that VB6, Access, and mysql dont play well together.  XML has been suggested to me as the best vehicle to use for the communication.  

I've found some solutions on this site for reading and creating XML data, so that is doable.  But is it the best way?

What's your advice, experts?

Thanks in advance for any help.
Who is Participating?
Scott McDaniel (Microsoft Access MVP - EE MVE )Connect With a Mentor Infotrakker SoftwareCommented:
Your VB6 app can communicate with MySQL, assuming your workstations have the necessary driver. In most cases, the best method is to use straight SQL to work with these records. Basically, you'd build an ADO Connection, then run your SQL on that Connection object:

Dim con As ADODB.Connection
Set con = New ADDOB.Connection

con.Execute "UPDATE SomeTable SET SomeField=SomeValue"

I've never really built a VB6 app with Access and MySQL, but I've built and consulted on several that work with Access and MSSQL. The concept is the same - you'll have a connection to the Access database, and one to the MySQL database.

XML is certainly a viable option for moving data ... however, depending on how much data you have, and how robust your knowledge of XML is, you may be better off with recordsets and straight SQL.
Skip_LaughlinAuthor Commented:
Thanks.  How would you set the path to the mysql database for the connection?\data\mysql.db  ??
Skip_LaughlinAuthor Commented:
I think I found it in another solution
"Well, here's future reference info for those who come upon this question:

You will need the MyODBC ODBC driver and then just use a connection string:


Sample connection code:

   Dim conn As ADODB.Connection
    Set conn = New ADODB.Connection
   Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
   conn.CursorLocation = adUseClient
    conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
            & "SERVER=;" _
            & "DATABASE=test;" _
            & "UID=testuser;" _
            & "PWD=12345;" _
            & "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384
   rs.Open "SELECT * FROM mytable WHERE 1=0", conn, adOpenStatic, adLockOptimistic

Check for samplecode and articles on the subject."
Looks basically like what you suggested but includes VB statements. Do you concur, LSM?

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Yes, that's the way you connect to a MySQL database.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.