FabioPaes 6/3/2018, 17:28
Amigo, o código possui uma série de erros. Mas na Maioria ERROS Ortográficos mesmo! Nome de Campos que Não existem em sua tabela.
O Erro mencionado no Tópico refere-se aos campos destacados a baixo, que não existiam na tabela:
ccEnderecoTab =
ccEnderecoTrabccTelTabalho =
ccTelTrabalhoMuita atenção na Escrita amigo!!!!
Outra coisa, os campos de sua tabela, na sua maioria Não permitem Cumprimento Zero, ou seja tem que ter algo la... E sua Planilha Exemplo, boa parte dos campos Não estão preenchidos! Isso Ocasionará erros!
Dica: Se vai utilizar todos os campos da tabela, então precisará listar campo a campo no SELECT, basta encurtar a Instrução e utilizar o SELECT * FROM NOMETABELA
Veja o Código a Baixo, esta funcionando no exemplo enviado, ressalvo os campos em branco...
- Código:
Private Sub btnImportarCli_Click()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' código criado por Alexandre Neves, do Fórum MaximoAccess '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim rst As DAO.Recordset, LivroExcel, Linha As Integer
CurrentDb.Execute "DELETE * FROM tbl_Clientes;"
Set rs = CurrentDb.OpenRecordset("tbl_Clientes")
'criar ligação com excel
Set LivroExcel = CreateObject("Excel.Application")
LivroExcel.workbooks.Open CurrentProject.Path & "\TransmiteArquivo\tbl_Clientes.xlsx"
'criar recordet
Set rst = CurrentDb.OpenRecordset("SELECT * FROM tbl_Clientes")
'cria novo registo na tabela e importa do excel
Linha = 2
Do While LivroExcel.cells(Linha, 1)
rst.AddNew
rst("ccVarCli") = LivroExcel.cells(Linha, 1)
rst("ccTipCli") = LivroExcel.cells(Linha, 2)
rst("cvCodEmp") = LivroExcel.cells(Linha, 3)
rst("ccIndustrial") = LivroExcel.cells(Linha, 4)
rst("ccLimpeza") = LivroExcel.cells(Linha, 5)
rst("ccDescriçãoPar") = LivroExcel.cells(Linha, 6)
rst("ccNomCli") = LivroExcel.cells(Linha, 7)
rst("ccNomFan") = LivroExcel.cells(Linha, 8)
rst("ccNomCon") = LivroExcel.cells(Linha, 9)
rst("ccEndereco") = LivroExcel.cells(Linha, 10)
rst("ccBairro") = LivroExcel.cells(Linha, 11)
rst("ccCidade") = LivroExcel.cells(Linha, 12)
rst("ccCidadeCod") = LivroExcel.cells(Linha, 13)
rst("ccNumero") = LivroExcel.cells(Linha, 14)
rst("ccEstado") = LivroExcel.cells(Linha, 15)
rst("ccCep") = LivroExcel.cells(Linha, 16)
rst("ccTelefone") = LivroExcel.cells(Linha, 17)
rst("ccCelular") = LivroExcel.cells(Linha, 18)
rst("ccFax") = LivroExcel.cells(Linha, 19)
rst("ccCGC") = LivroExcel.cells(Linha, 20)
rst("ccInsEst") = LivroExcel.cells(Linha, 21)
rst("ccInsMun") = LivroExcel.cells(Linha, 22)
rst("ccCCP") = LivroExcel.cells(Linha, 23)
rst("ccResponsavel") = LivroExcel.cells(Linha, 24)
rst("ccCPFResp") = LivroExcel.cells(Linha, 25)
'Tratamento para so tentar colocar valor se for data
If IsDate(LivroExcel.cells(Linha, 26)) Then
rst("cdDatNasc") = LivroExcel.cells(Linha, 26)
End If
rst("ccNaturalidade") = LivroExcel.cells(Linha, 27)
rst("ccEstadoCivil") = LivroExcel.cells(Linha, 28)
rst("ccNomConjugue") = LivroExcel.cells(Linha, 29)
rst("ccEnderecoCob") = LivroExcel.cells(Linha, 30)
rst("ccBairroCob") = LivroExcel.cells(Linha, 31)
rst("ccTipoRes") = LivroExcel.cells(Linha, 32)
rst("ccTempoRes") = LivroExcel.cells(Linha, 33)
rst("ccTipoCon") = LivroExcel.cells(Linha, 34)
rst("ccTempoCon") = LivroExcel.cells(Linha, 35)
rst("ccEmail") = LivroExcel.cells(Linha, 36)
rst("ccLocalTrabalho") = LivroExcel.cells(Linha, 37)
'O campo estava errado aqui
rst("ccEnderecoTrab") = LivroExcel.cells(Linha, 38)
'O campo estava errado aqui
rst("ccTelTrabalho") = LivroExcel.cells(Linha, 39)
rst("ccCargo") = LivroExcel.cells(Linha, 40)
rst("ccApelido") = LivroExcel.cells(Linha, 41)
rst("ccSPC") = LivroExcel.cells(Linha, 42)
rst("ccApresentado") = LivroExcel.cells(Linha, 43)
rst("cdDatAdm") = LivroExcel.cells(Linha, 44)
rst("ccCTPS") = LivroExcel.cells(Linha, 45)
rst("ccRenda") = LivroExcel.cells(Linha, 46)
rst("ccCPF") = LivroExcel.cells(Linha, 47)
rst("ccRG") = LivroExcel.cells(Linha, 48)
rst("ccNomPai") = LivroExcel.cells(Linha, 49)
rst("ccNomMae") = LivroExcel.cells(Linha, 50)
rst("ccInfCom") = LivroExcel.cells(Linha, 51)
rst("ccExtras") = LivroExcel.cells(Linha, 52)
rst("ccMensagem") = LivroExcel.cells(Linha, 53)
'Aqui tambem foi corrigido
If IsDate(LivroExcel.cells(Linha, 54)) Then
rst("cdDatCad") = LivroExcel.cells(Linha, 54)
End If
If IsDate(LivroExcel.cells(Linha, 55)) Then
rst("cdDatUlCom") = LivroExcel.cells(Linha, 55)
End If
rst("ccValorManut") = LivroExcel.cells(Linha, 56)
rst("cvCodUsu") = LivroExcel.cells(Linha, 57)
rst("ccBloqueio") = LivroExcel.cells(Linha, 58)
'O campo estava errado aqui
rst("ccAtivo") = LivroExcel.cells(Linha, 59)
rst.Update
Linha = Linha + 1
Loop
'fechaexcel
LivroExcel.Activeworkbook.Close SaveChanges:=False
Set LivroExcel = Nothing
'fecha rst
Set rst = Nothing
' DoCmd.OpenQuery "RemuveCertDupe", acViewNormal, acEdit
MsgBox "Tabela Cliente Importada com Sucesso!"
End Sub
Veja os comentários e tratamentos que fiz!
.................................................................................
_____________________________________________________________________
Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
A dica do Colega foi útil? Agradeça!
O importante não saber tudo, mas sim a Onde procurar!