Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Erro em tempo de execução '13' Tipos incompatíveis

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

carloseg
Colaborador
Colaborador
Mensagens: 22
Registrado em: Seg Jun 06, 2016 12:42 pm
Localização: Canindé - São Paulo - SP
Contato:

Erro em tempo de execução '13' Tipos incompatíveis

Mensagem por carloseg »

Prezados amigos tenho um projeto onde os dados eram salvos na planilha, passei a usar o banco de dados access.

Porem estou me deparando com o Erro em tempo de execução '13' Tipos incompatíveis

Código: Selecionar todos

Global banco As Database
Global rs As Recordset

Sub conexao()
' abre o banco de dadoscontrol.mdb
Set banco = OpenDatabase((ThisWorkbook.Path & "\control.mdb"), False)

End Sub

Sub desconectar()
' fecha meu banco de dados control.mdb
Set Control = Nothing
Set rs = Nothing

End Sub

Código: Selecionar todos

Private Sub txt_buscar_Change()
Dim codigo As String
    Dim strsql As String
    
    ' atribuir variavel a textbox
   
    codigo = Me.txt_buscar.Text
    
   
    strsql = "select * from clientes where nome_cliente like '*" & codigo & "*'"
    
    If codigo = "" Then
    MsgBox "Campo busca vazio!", vbInformation, "BUSCA CLIENTE"
    
    Else
    
    ' conectar banco
    Call conexao
    
Set rs = banco.OpenRecordset(strsql) 
   
     
    On Error Resume Next
    
    ' limpar listview
    Me.ListView1.ListItems.Clear
    
    While Not rs.EOF
    Set List = Me.ListView1.ListItems.Add(Text:=rs(0))
        List.SubItems(1) = rs(1)
        List.SubItems(2) = rs(2)
        List.SubItems(3) = rs(3)
        List.SubItems(4) = rs(4)
        List.SubItems(5) = rs(5)
        List.SubItems(6) = rs(6)
        List.SubItems(7) = rs(7)
        List.SubItems(8) = rs(8)
        List.SubItems(9) = rs(9)
        List.SubItems(10) = rs(10)
        List.SubItems(11) = rs(10)
        List.SubItems(12) = rs(12)
        List.SubItems(13) = rs(13)
        List.SubItems(14) = rs(14)
        List.SubItems(15) = rs(15)
        List.SubItems(16) = rs(16)
        List.SubItems(17) = rs(17)
        List.SubItems(18) = rs(18)
        List.SubItems(19) = rs(19)
        List.SubItems(20) = rs(20)
     
        
        
        rs.MoveNext
        
        Wend

End If
End Sub

Private Sub UserForm_Initialize()
With ListView1
    
     Call conexao
    .Gridlines = True
    .View = lvwReport
    .FullRowSelect = True
    .ColumnHeaders.Add Text:="Código", Width:=1
    .ColumnHeaders.Add Text:="Data Cadastro", Width:=80
    .ColumnHeaders.Add Text:="Nome", Width:=250
    .ColumnHeaders.Add Text:="Nome Fantasia", Width:=160
    .ColumnHeaders.Add Text:="CNPJ", Width:=100
    .ColumnHeaders.Add Text:="CPF", Width:=90
    .ColumnHeaders.Add Text:="Endereço", Width:=180
    .ColumnHeaders.Add Text:="Número", Width:=50
    .ColumnHeaders.Add Text:="Complemento", Width:=150
    .ColumnHeaders.Add Text:="Bairro", Width:=100
    .ColumnHeaders.Add Text:="Cidade", Width:=100
    .ColumnHeaders.Add Text:="Cep", Width:=60
    .ColumnHeaders.Add Text:="Estado", Width:=50
    .ColumnHeaders.Add Text:="Contato", Width:=100
    .ColumnHeaders.Add Text:="Telefone", Width:=80
    .ColumnHeaders.Add Text:="Telefone1", Width:=80
    .ColumnHeaders.Add Text:="Celular", Width:=80
    .ColumnHeaders.Add Text:="whatsapp", Width:=80
    .ColumnHeaders.Add Text:="Observação", Width:=150
    .ColumnHeaders.Add Text:="Foto", Width:=200

End With


End Sub

o erro aparece aqui -----Set rs = banco.OpenRecordset(strsql)-----, ao depurar o set rs é igual a nothing.

Imagem
O banco de dados salvo em mdb, sendo os campos id_cliente(numeração automática) data cadastro (data/hora)
demais campos está como texto curto.

se puder ajudar agradeço.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Erro em tempo de execução '13' Tipos incompatíveis

Mensagem por Reinaldo »

Assim por descritivo, podemos supor que a tabela cliente não esteja presente e/ou o codigo na tabela seja numerico e esteja "procurando" uma string.
Disponibilize seu modelo que ficara mais simples obter um retorno que atenda.
Substitua se necessário dados/valores por fictícios


Responder