Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Excel ADO error:  User-defined type not defined

Posted on 2010-11-12
5
Medium Priority
?
517 Views
Last Modified: 2012-06-21
I'm trying to just pull a single SQL 2005 table, one way, into Excel 2003.

Compile error:
User-defined type not defined

I have references set to both Microsoft ADO Ext. 2.8 for DDL and Security and Microsoft ActiveX Data Objects Recordset 2.8 Library

What am I doint wrong?
The below VBA is in the Workbook Open event  in "ThisWorkbook".  It's a newly created Excel worksheet with nothing but this code in it and the references I mentioned added from "Tools|References".
Private Sub Workbook_Open()
'This was set up using Microsoft ActiveX Data Objects version 2.8 (In Microsoft Visual Basic, select Tools, References)
Worksheets("Sheet1").Range("B2:BZ65535").Clear

Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stSQL As String
Dim wbBook As Workbook
Dim wsSheet As Worksheet
Dim rnStart As Range


Const stADO As String = "Provider=SQLOLEDB.1;Integrated Security=SSPI; " & _
"Persist Security Info=False; " & _
"Initial Catalog=CustomerComplaints; " & _
"Data Source=BETASERVE"

Set wbBook = ActiveWorkbook
Set wsSheet = wbBook.Worksheets(1)

With wsSheet
Set rnStart = .Range("B2")
End With

stSQL = "SELECT * FROM Complaints ORDER BY Location, DateReceived"

Set cnt = New ADODB.Connection

With cnt
.CursorLocation = adUseClient
.Open stADO
.CommandTimeout = 0
Set rst = .Execute(stSQL)
End With

'Here we add the Recordset to the sheet from A1
rnStart.CopyFromRecordset rst

'Cleaning up.
rst.Close
cnt.Close
Set rst = Nothing
Set cnt = Nothing

End Sub

Open in new window

0
Comment
Question by:megnin
  • 2
3 Comments
 
LVL 24

Accepted Solution

by:
Tracy earned 2000 total points
ID: 34124717
Re-posting as Expert Comment:

Instead of referencing this:
Microsoft ActiveX Data Objects Recordset 2.8 Library

Reference this:
Microsoft ActiveX Data Objects 2.8 Library
0
 
LVL 1

Author Comment

by:megnin
ID: 34124750
You are brilliant!  :-)  Thank you.  That did the trick.  I missed that because instead of that option being down in the alphabetical listing with the Microsoft..... stuff it was up near the very top of the list of references.  Just not close enough to the top for me to notice it. ;-)
0
 
LVL 1

Author Closing Comment

by:megnin
ID: 34136787
Thank you that fixed it.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
This article describes a serious pitfall that can happen when deleting shapes using VBA.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa‚Ķ

876 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question