Microsoft KB Archive/109800

From BetaArchive Wiki
Knowledge Base


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.

REFERENCES

  1. "Microsoft Visual Basic for Windows Professional Features Book 2: Data Access Guide," pages 14-15 and Appendix C.



Additional query words: 3.00

Keywords: KB109800