ID: Q119259
The information in this article applies to:
In Microsoft Excel, if you run a Visual Basic procedure that uses the SQLREQUEST function, the procedure returns an error message or an incorrect result if you run the procedure from a command button or from a toolbar button.
This behavior occurs only when you assign the procedure to a command button or a toolbar button, and run the procedure from the button. The correct result is returned when you run the procedure that contains the SQL function from the module sheet, or from the Macro dialog box.
To avoid receiving an incorrect result or an error message when you choose a toolbar button to run a procedure that uses the SQLRequest function, call the procedure from another procedure, and then do the following to assign the calling procedure to the toolbar:
Microsoft provides examples of Visual Basic 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. For more information about Visual Basic for Applications programming style, see the "Programming Style in This Manual" section in the "Document Conventions" section of the "Visual Basic User's Guide."
1. In a new module, enter the following:
Sub Macro1()
' Sample_SQL is the name of the procedure that
' contains the SQL function
Application.OnTime Now, "Sample_SQL"
' Note, do not any other lines below the above line of code.
' If you want to add more code, add the lines below the SQLRequest
' function call in the "Sample_SQL" routine.
End Sub
' Procedure that contains the SQL function
Sub Sample_SQL()
array1 = SQLRequest("DSN=Database1", "Select * From Table1")
End Sub
2. From the View menu, choose Toolbars. Choose the Customize button. From
the Categories list, select Custom. From the Buttons list, drag any
button off of the dialog to create a custom button.
3. In the Assign Macro dialog box, select Macro1 (not Sample_SQL) and
choose OK.
4. Close the Customize dialog box.
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Microsoft Excel version 5.0c for Windows.
The SQLREQUEST function is available in the XLODBC.XLA. You can use this function in a Visual Basic procedure by creating a reference to the XLODBC.XLA file using the References dialog box (Tools menu).
For more information about the SQLRequest Function, choose the Search button in the Visual Basic Reference and type:
SQLRequest Function
Additional query words: 5.00 err msg2004 run-time cannot connect to
database access xlodbc.xla 2042
Keywords : xlquery
Version : 5.00
Platform : WINDOWS
Last Reviewed: March 21, 1997