I'm upgrading an old VB3 program to VB6 and have been using similar code to that listed to open a password protected database through ODBC.
GlobalConn.Open "DSN=DATABASE.MDB;uid=;pwd=JOEY;database=DATABASE.MDB"
Set GlobalCmd.ActiveConnection = GlobalConn
SQLString = SQLstr
GlobalCmd.CommandText = Trim(SQLString)
GlobalRecSet.CursorLocation = adUseClient
GlobalRecSet.Open GlobalCmd, , adOpenKeyset,adLockOptimistic
GlobalConn.BeginTrans
etc etc

It all works fine, my problem is that the program requires different recordsets open at one time which is really affecting the speed /performance of my program. It runs pretty slow when it goes through about 100 loops to update item details to a table (taking 30 seconds to do this when the VB3 version does it in a second).
Can anyone shed some light if its the way the connections are created, the recordsets or anything like that? The equivalent code in VB3 (using DAO and no ODBC) runs like lightning, and due to the tight time contraints I can't rewrite the entire package from scratch, HELP!
Any info would be appreciated.
The old package was in VB3 pro, connecting to an Access 2.0 database using DAO.
The updated package is in VB6 pro, with Access 97 using ODBC and ADO (v2.0).