XL: Visual Basic Example Using ODBCLogon

Last reviewed: March 13, 1998
Article ID: Q142358
The information in this article applies to:
  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95, version 7.0
  • Microsoft Excel for Windows, version 5.0, 5.0c

SUMMARY

In Microsoft Excel, dynamic data exchange (DDE) can be used in Visual Basic for Applications to communicate with Microsoft Query. The ODBCLogon command allows an application to connect to a data source using DDE.

MORE INFORMATION

The following macro example connects to the NWind data source, runs a query, and returns the result to Sheet1 in the workbook that contains the macro code. When you use the following macro, Microsoft Query needs to be running. When you use the macro in Microsoft Excel 7.0, you must create a data source called "NWind" that uses the dBASE files in the MSQuery directory.

Microsoft provides examples of Visual Basic for Applications procedures for illustration only, without warranty either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. This Visual Basic procedure is provided 'as is' and Microsoft does not guarantee that it can be used in all situations. Microsoft does not support modifications of this procedure to suit customer requirements for a particular purpose.

Sub UsingODBCLOgon()

   ' Dimension the variables.
   Dim chan As Integer
   Dim NumRows
   Dim NumCols

   ' Initiate a DDE channel to Msquery.
   chan = DDEInitiate("MSQuery", "System")

   ' Execute the ODBCLogon command.
   DDEExecute chan, "[ODBCLogon('DSN=NWind',0)]"

   ' Execute a SQL statement.
   DDEExecute chan, "[Open('Select * From Customer')]"

   ' Request the number of rows.
   NumRows = DDERequest(chan, "NumRows")

   ' Request the number of columns.
   NumCols = DDERequest(chan, "NumCols")

   ' Return the data to Sheet1.
   DDEExecute chan, "[Fetch('Excel','Sheet1','R1C1:R" & NumRows(1) & _
      "C" & NumCols(1) & "','All/Headers')]"

   ' Close the DDE channel.
   DDETerminate chan

End Sub

REFERENCES

"Microsoft Query User's Guide," version 1.0, Chapter 9, "Using Dynamic DataExchange with Microsoft Query"

For more information about ODBCLogon, click Search on the Help menu in Microsoft Query and type:

   ODBCLogon


Additional query words: 5.00 5.00c 7.00 8.00 97 login logging odbc
Keywords : kbcode kbprg kbhowto
Version : WINDOWS:5.0,5.0c,7.0,97
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 13, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.