Microsoft KB Archive/109800

= How to Set VB Data Control to External ODBC Database Dynaset =

Article ID: 109800

Article Last Modified on 10/29/2003

-

APPLIES TO


 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition

-



This article was previously published under Q109800



SUMMARY
The following sample code fragment sets a data control (Data1) to a Dynaset based upon an external ODBC database:

' Set DatabaseName property to a valid Data Source Name (DSN) that is  ' registered in the ODBC.INI file in your Windows directory: Data1.DatabaseName = "datasourcename" Data1.Connect = "odbc;uid=user;pwd=password;database=pubs" Data1.RecordSource = "tablename" ' Or you can set the Data1.RecordSource property to an SQL query: ' Data1.RecordSource = "select * from tablename where ..." Data1.Refresh  ' Must update the data control with new Dynaset.

NOTE: You cannot set a data control directly to a Dynaset variable, but you can set a Dynaset variable to the data control's recordset:

Dim ds as Dynaset ...  Set Data1.Recordset = ds   'This statement is not supported. Set ds = Data1.Recordset  'This statement is supported.

A data control requires additional information that is not available in a Dynaset object.



MORE INFORMATION
Before you can edit an external ODBC table, the table must contain a unique index. If you get the following error message, you might not have a unique index on the table:

Can't perform operation; it is illegal.

You could also receive this error if the Data1.Recordset.Updatable flag is not set to True. Also, if you set the Data1.Options property to 64 (SQL_PASSTHROUGH), the data control will not be updatable.

