none
Conexão Visual Basic Excel 2010 RRS feed

  • Pergunta

  • Bom dia pessoal,

    Estou tendo um problema pois quando trabalhava com o Excel 2007 executava conexoes para visual basic e nao tinha nenhum problema

    Porém agora com o 2010 em diante, tento abrir o mesmo arquivo e nao estou conseguindo. ele me acusa um "Erro em tempo de execução 3706. Provedor nao encontrado.."

    Nao sei mais o que fazer. Ja tentei pelas referências, etc mas nao estou conseguindo.

    Um exemplo da compilação aonde funcionava no 2007 e nao funciona mais no 2010 é esta funçao:

    Private Sub PopulaCidades()
        Dim conn As ADODB.Connection
        Dim rst As ADODB.Recordset
        Dim sql As String

        Set conn = New ADODB.Connection
        With conn
            .Provider = "Microsoft.JET.OLEDB.4.0"
            .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 8.0;"
            .Open
        End With

        sql = "SELECT DISTINCT Cidade FROM [Fornecedores$]"

        Set rst = New ADODB.Recordset
        With rst
            .ActiveConnection = conn
            .Open sql, conn, adOpenDynamic, _
                  adLockBatchOptimistic
        End With

        Do While Not rst.EOF
            If Not IsNull(rst(0).Value) Then
                lstCidades.AddItem rst(0).Value
            End If
            rst.MoveNext
        Loop

        ' Fecha o conjunto de registros.
        Set rst = Nothing
        ' Fecha a conexão.
        conn.Close

    End Sub

    Obrigado,

    Gilberto

    quarta-feira, 30 de julho de 2014 17:15

Respostas

  • Descobri o office atualizou algumas coisas do 2007 para o 2010

    Uma delas é não possuir a atualização da conexão Jet

    Resolvi meu problema mudando a conexão para

    .Provider = "Microsoft.ACE.OLEDB.12.0"

    A titulo de curiosidade eu possuo o windows 7 64 bits

    Abraços

    • Marcado como Resposta GilbertoCK quarta-feira, 30 de julho de 2014 20:21
    quarta-feira, 30 de julho de 2014 19:55

Todas as Respostas