ID: Q142358
The information in this article applies to:
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.
Microsoft provides programming examples 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 article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/refguide/
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.
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
"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 : kbprg kbdta kbdtacode KbVBA kbhowto
Version : WINDOWS:5.0,5.0c,7.0,97
Platform : WINDOWS
Last Reviewed: May 17, 1999