• ADO ADODB.Connection (2000)

    Author
    Topic
    #404042

    I tested this macro but i recieve on this line (Dim cnt As ADODB.Connection) : “error compilation Type not defined fron user”

    code:

    Sub Import_AccessData()

    Dim cnt As ADODB.Connection

    Dim rst1 As ADODB.Recordset, rst2 As ADODB.Recordset
    Dim stDB As String, stSQL1 As String, stSQL2 As String
    Dim stConn As String
    Dim wbBook As Workbook
    Dim wsSheet1 As Worksheet
    Dim lnField As Long, lnCount As Long

    ‘Instantiate the ADO-objects.
    Set cnt = New ADODB.Connection
    Set rst1 = New ADODB.Recordset
    Set rst2 = New ADODB.Recordset

    Set wbBook = ThisWorkbook
    Set wsSheet1 = wbBook.Worksheets(1)

    ‘Path to the database.
    stDB = “c:dbDELIVERY.mdb”

    ‘Create the connectionstring.
    stConn = “Provider=Microsoft.Jet.OLEDB.4.0;” & _
    “Data Source=” & stDB & “;”

    ‘The 1st raw SQL-statement to be executed.
    stSQL1 = “SELECT * FROM Production_E1”

    ‘The 2nd raw SQL-statement to be executed.
    stSQL2 = “SELECT * FROM Production_E2”

    ‘Clear the worksheet.
    wsSheet1.Range(“A1”).CurrentRegion.Clear

    With cnt
    .Open (stConn) ‘Open the connection.
    .CursorLocation = adUseClient ‘Necessary to disconnect the recordset.
    End With

    With rst1
    .Open stSQL1, cnt ‘Create the recordset.
    Set .ActiveConnection = Nothing ‘Disconnect the recordset.
    End With

    With rst2
    .Open stSQL2, cnt ‘Create the recordset.
    Set .ActiveConnection = Nothing ‘Disconnect the recordset.
    End With

    With wsSheet1
    .Cells(2, 1).CopyFromRecordset rst1 ‘Copy the 1st recordset.
    .Cells(2, 2).CopyFromRecordset rst2 ‘Copy the 2nd recordset.
    End With

    ‘Release objects from the memory.
    rst1.Close
    Set rst1 = Nothing
    rst2.Close
    Set rst2 = Nothing
    cnt.Close
    Set cnt = Nothing
    End Sub

    Viewing 1 reply thread
    Author
    Replies
    • #819022

      Do you have a reference to the Microsoft ActiveX Data Objects 2.n Library? You can check this in Tools | References… in the Visual Basic Editor.

      • #819026

        ok, ok! i have solved this prob.
        But this library appear only if i open the wbook that is required? If i could want to set this library for ever? is possible?

        • #819028

          References to object libraries are stored in the workbook, so it must be set in each workbook separately. You could make a default workbook with this reference, but that would mean that ALL new workbooks have a reference to the ADO library. That may not be desirable, and could cause problems if you want to distribute a workbook to another user.

          • #819034

            infact i have thing this problem “…may not be desirable, and could cause problems if you want to distribute a workbook to another user….”
            You are very, very , professional and tks for the spdeey to help me. In this time all is clear form me.
            Tks

          • #819035

            infact i have thing this problem “…may not be desirable, and could cause problems if you want to distribute a workbook to another user….”
            You are very, very , professional and tks for the spdeey to help me. In this time all is clear form me.
            Tks

        • #819029

          References to object libraries are stored in the workbook, so it must be set in each workbook separately. You could make a default workbook with this reference, but that would mean that ALL new workbooks have a reference to the ADO library. That may not be desirable, and could cause problems if you want to distribute a workbook to another user.

      • #819027

        ok, ok! i have solved this prob.
        But this library appear only if i open the wbook that is required? If i could want to set this library for ever? is possible?

    • #819023

      Do you have a reference to the Microsoft ActiveX Data Objects 2.n Library? You can check this in Tools | References… in the Visual Basic Editor.

    Viewing 1 reply thread
    Reply To: Reply #819029 in ADO ADODB.Connection (2000)

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information:




    Cancel