Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VB6 & Btrieve

Status
Not open for further replies.

jbrowne

Programmer
Feb 1, 2000
182
IE
Hi,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;I am currently converting a project from VB3 to VB6. In the VB3 project we are accessing a Btrieve database using the Microsoft Jet Engine through the ISAM driver provided by Microsoft Visual Basic 3. However, when we convert up to VB6 we cannot access the database in this manner because (I've been told) Visual Basic 6 does not supply the ISAM driver to connect to the Btrieve database.<br>&nbsp;&nbsp;&nbsp;&nbsp;I have tried to use the Btrieve Engine with the ODBC driver for this and I can access the database this way but there is a problem.<br>&nbsp;&nbsp;&nbsp;&nbsp;I tried accessing the database from the source code of my project only to find that the 'Opentable' method in VB3 has now been replaced by the 'OpenRecordset' method in VB6.<br>&nbsp;&nbsp;&nbsp;&nbsp;In order to use the 'Seek' method on the database (which is of vital importance to us), you must open a Recordset as a table-type. However unless you use the Microsoft Jet engine Workspace - you are not allowed to open a 'table-type' Recordset (can't be used with ODBC) and thus the 'Seek' method cannot be used. <br><br>Bottom line is, if we switch from an ISAM driver to an ODBC driver we cannot find a way to use the 'Seek' method which we are using extensively throughout our code in the VB3 version.<br><br>I hope you can see my problem here and possibly suggest some solution to this issue.<br><br>Regards,<br>John Browne<br>&nbsp;&nbsp;
 
John,<br><br>While I DO appreciate your problem AND I have no direct answer to your problem, there are a few idle thoughts.<br><br>First, the Find methods are generally O.K. for small to moderate sized datasets, so it is usually O.K. to use them.<br><br>Second, if you REALLY wnat the speed, you will probably want to abandon the entire concept of database programming (e.g. data connections and SQL) and go to a straight BTRieve direct access approach.&nbsp;&nbsp;This is a fair amount of work, but pays off in (Relatively speaking) amazing speed of access to BTRieve files.<br><br>Third, If you are willing to go with the snail's pace speed of the ADO connections, realize that you can change the connection rowsource to any viable SQL statement at/during run time, so there may be no need for the Seek or find methods to get the data you want.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top