Usuário com melhor resposta
Conexão Visual Basic Excel 2010

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 SubObrigado,
Gilberto
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
Todas as Respostas
-
Creio que tenha que instalar o Data Connectivity Components: http://www.microsoft.com/en-us/download/details.aspx?id=23734
-
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