Bom dia
Estou começando a realizar programação e estou tentando acrescentar em um UserForm no Excell mas o Banco de Dados no Access.
Porém está aparecendo Erro 3706 - Provedor não encontrado.
Estou realizando a programação com a Referencia - Microsoft ActiveX Data Objects 2.8 Library
Estou realizando em 2 Módulo, um conecta/ desconecta e outro para Importar para a Base (ambos peguei da internet).
Script - Modulo 1
Public CodDescrErroIMP As String
Public CodErroIMP As Byte
Public enderecoBD As String
Public SQL As String
Public rs As ADODB.Recordset
Public mConn As ADODB.Connection
Public Sub SU_ConectaBD()
On Error GoTo erro 'apresentar erro vai para a mensagem de erro
enderecoBD = ThisWorkbook.Path & "C:\Users\Leandro\Desktop\Base\Dados.mdb"
Set mConn = New ADODB.Connection 'conecção com a base
mConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & enderecoBD & ";Jet OLEDB:Database"
mConn.Open
Set rs = New ADODB.Recordset
Exit Sub
erro: 'mensagem de erro
MsgBox "Erro!" & vbNewLine & vbNewLine & Err.Number & " - " & Err.Description & vbNewLine & vbNewLine & "Não foi possível conectar", vbCritical
Err.Clear
Set mConn = Nothing
Exit Sub
End Sub
Public Sub SU_DesconectaBD()
On Error Resume Next
mConn.Close
Set mConn = Nothing
On Error GoTo 0
End Sub
Script Modulo 2
Sub importaparabase()
SU_ConectaBD
SQL = ""
SQL = "INSERT INTO Tabela1 (Ficha, Data de Abertura, Data da Abertura de Ficha, Email com Receita, Autorização via CAPs, Pre Abertura, Faltou exame, Qual, Data da Regularizacao, Inclusao, Exclusao, Cobertura, Erro de Sigla, Observacao"
SQL = SQL & " VALUES ("
' o último tem que ser sem ponto e vírgula no final
SQL = SQL & "'" & UserForm1.txtFicha.Value & "',"
SQL = SQL & "'" & UserForm1.txtDataaber.Value & "',"
SQL = SQL & "'" & UserForm1.txtFicha.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton19.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton20.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton21.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton25.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton17.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton18.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton23.Value & "',"
SQL = SQL & "'" & UserForm1.OptionButton24.Value & "',"
SQL = SQL & "'" & UserForm1.TextBox6.Value & "',"
SQL = SQL & "'" & UserForm1.CheckBox5.Value & "',"
SQL = SQL & "'" & UserForm1.CheckBox6.Value & "',"
SQL = SQL & "'" & UserForm1.CheckBox7.Value & "',"
SQL = SQL & "'" & UserForm1.CheckBox8.Value & "',"
SQL = SQL & "'" & UserForm1.TextBox9.Value & "',"
SQL = SQL & "'" & UserForm1.TextBox7.Value & "' "
SQL = SQL & ")"
'mConn.Execute SQL
SU_DesconectaBD
Exit Sub
erro:
SU_DesconectaBD
CodDescrErroIMP = Err.Description
MsgBox CodDescrErroIMP
End Sub
Valeu!
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Erro - 3706 Provedor Não encontrado [Resolvido]
Moderador: joseA
Erro - 3706 Provedor Não encontrado [Resolvido]
Editado pela última vez por LeSilva em Qui Set 10, 2015 9:16 am, em um total de 1 vez.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Erro - 3706 Provedor Não encontrado
Fica dificil testar assim pela rotina/macro/script; mas chama atenção a definição da variável --> "enderecoBD"
enderecoBD = ThisWorkbook.Path & "C:\Users\Leandro\Desktop\Base\Dados.mdb"
Assim, supondo que ao arquivo esteja salvo em --> "C:\Users\Leandro\Desktop"; resultará algo +/- "C:\Users\Leandro\DesktopC:\Users\Leandro\Desktop\Base\Dados.mdb"
Convenhamos que não é um caminho, digamos, correto.
Provavelmente ai está o erro que não permite a conexão
enderecoBD = ThisWorkbook.Path & "C:\Users\Leandro\Desktop\Base\Dados.mdb"
Assim, supondo que ao arquivo esteja salvo em --> "C:\Users\Leandro\Desktop"; resultará algo +/- "C:\Users\Leandro\DesktopC:\Users\Leandro\Desktop\Base\Dados.mdb"
Convenhamos que não é um caminho, digamos, correto.
Provavelmente ai está o erro que não permite a conexão