MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Compartilhe
    avatar
    Connekta Informatica
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1024
    Registrado : 01/07/2011

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Connekta Informatica em 20/2/2018, 18:12

    Boa Tarde

    Estou tentando fazer uma Consulta na tabela, mas não estou conseguindo.

    Tenho um formulário de Cadastro de Clientes e gostaria que ao sair do campo Documento1 ele verificasse se o campo CodCli se já esta cadastrado na Tabela, se ele tiver na tabela ele passa para o campo NomeCliente e se ele não tiver ele verifique se o campo Documento1 ja existe.

    Código:

    Private Sub Documento1_Exit(Cancel As Integer)
    If DCount("CodCli", "tbl_CadClientes", "CodCli =" & Me.CodCli & "") >= 1 Then
    Exit Sub
    Else

    If DCount("Documento1", "tbl_CadClientes", "Documento1 ='" & Me.Documento1 & "'") >= 1 Then
    MsgBox ("Cliente Já Cadastrado!"), vbInformation, "Aviso"
    Call CarregaRegistro
    Me.Documento1.SetFocus
    Else
    Me.DataCadastro = Date
    Exit Sub
    End If

    End If
    End Sub

    Com o código acima aparece o seguinte erro:
    "Erro na sintaxe ( Operador faltando ) na expressão de consulta 'CodCli='.

    Coloco o operador ' :

    Código:

    Private Sub Documento1_Exit(Cancel As Integer)
    If DCount("CodCli", "tbl_CadClientes", "CodCli ='" & Me.CodCli & "'") >= 1 Then

    ...
    End Sub

    Com o código acima aparece o seguinte erro:
    Tipo de dados incompatível na expressão de critério.


    Alguém pode me ajudar?


    .................................................................................




    Untitled Document





    Connekta Informática Apoia:


    Chapada dos Veadeiros - Alto Paraíso de Goiás
    Venha conhecer as belezas naturais desta cidade.


    Clique Aqui


    Lembrete: Desfrutar e Preservar é um direito de Todos.




    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Cláudio Más em 20/2/2018, 18:37

    Tente assim:

    If DCount("*", "tbl_CadClientes", "CodCli =" & Nz(Me!CodCli)) >= 1 Then
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1051
    Registrado : 07/12/2011

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  tauron em 21/2/2018, 11:57

    Amigo poste seu bd. Fiquei muito confuso com sua explicacao. KKK
    avatar
    Connekta Informatica
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1024
    Registrado : 01/07/2011

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Connekta Informatica em 21/2/2018, 17:30

    Boa Tarde

    Cláudio Más obrigado pela atenção. Fiz como você postou mas continua com o erro:
    "Erro na sintaxe ( Operador faltando ) na expressão de consulta 'CodCli='.

    Segue o Banco de dados.
    Anexos
    Sistema de Ordem de Serviços - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (161 Kb) Baixado 19 vez(es)


    .................................................................................




    Untitled Document





    Connekta Informática Apoia:


    Chapada dos Veadeiros - Alto Paraíso de Goiás
    Venha conhecer as belezas naturais desta cidade.


    Clique Aqui


    Lembrete: Desfrutar e Preservar é um direito de Todos.




    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Cláudio Más em 21/2/2018, 19:10

    If DCount("*", "tbl_CadClientes", "CodCli =" & Nz(Me!CodCli,0)) >= 1 Then
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1051
    Registrado : 07/12/2011

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  tauron em 21/2/2018, 19:11

    Claudio, o campo "codCli" eh numeracao automatica.

    Tente assim para um teste:

    Primeiramente, retire os marcadores do campo que constam na tabela (ponto, barra, traço) deixando um numero do tipo 00000000000 ou 00000000000000

    Private Sub Documento1_Exit(Cancel As Integer)
    If DCount("Documento1", "tbl_CadClientes", "Documento1 ='" & Me.Documento1 & "'") >0 Then
    MsgBox ("Cliente Já Cadastrado!"), vbInformation, "Aviso"
    Call CarregaRegistro
    Exit Sub
    End If
    End Sub

    ou

    Private Sub Documento1_BeforeUpdate(Cancel As Integer)
    If DCount("Documento1", "tbl_CadClientes", "Documento1 ='" & Me.Documento1 & "'") >0 Then
    MsgBox ("Cliente Já Cadastrado!"), vbInformation, "Aviso"
    Call CarregaRegistro
    Exit Sub
    End If
    End Sub
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Cláudio Más em 21/2/2018, 19:23

    tauron, eu não tinha percebido que "codCli" é numeração automática.

    Mesmo assim, funcionou com a alteração da minha mensagem anterior, acho que é indiferente se mantiver o código original.
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1051
    Registrado : 07/12/2011

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  tauron em 21/2/2018, 20:41

    Me perdoe se eu estiver equivocado mas, não vejo sentindo em procurar por um codigo que eh automatico e que nao podera se repetir. No caso de cpf ou cnpj, ai sim por um erro na digitacao podemos inserir o "documento" de outro cliente.

    me perdoe mas minha visao.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Noobezinho em 21/2/2018, 22:26

    Tauron

    Tive problemas com homônimo quando fiz um sistema para um proprietário de 3 lojas.

    Pensando nisso e sabendo que sempre haverá erros de digitação, cheguei ao seguinte.

    Mesmo tendo o idCliente como autonumerção e chave primária, usarei sempre o CPF.

    Por ser único a nível de Brasil e como objeto de pesquisa.

    Por que?

    Porque ao pedir um documento com o número do CPF teremos o nome do cliente,

    reduzindo assim os erros de digitação.

    -------------------------
    Quanto a teu código:

    Se eu digitar:

    DCount("*", "tbl_CadClientes", "[CodCli] =  CodCli")

    O código não dará erro e ira retornar 5 registros.

    Isso porque não tem nenhum dado no formulário para fazer a comparação, então retornará todos.

    Esse método  geralmente é usando para quando for adicionar novos registros.

    Dito isso, acredito que deve saber o que fazer, pois vendo tuas mensagens, já sabe

    ser virar  Wink

    Procure saber mais sobre formulário desacoplados.

    Não preciso dizer, qualquer coisa, "tamos aí"

    [ ]'s
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  Cláudio Más em 22/2/2018, 03:59

    tauron, você está certo.
    Acontece que a minha correção apenas elimina o erro, mas a condição verdadeira do If nunca é executada, caindo sempre no segundo If que é a pesquisa pelo documento.
    Por isso acaba funcionando, mas é melhor mesmo rever o código conforme a sua sugestão, ou a do Noobezinho.
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1051
    Registrado : 07/12/2011

    Re: Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe

    Mensagem  tauron em 22/2/2018, 10:31

    Grande Noobezinho, concordo plenamente, por isso no codigo que postei o campo "documento1" é verificado, ou seja, o campo onde o usuario devera digitar o cpf ou cnpj conforme o modelo do nosso amigo.

      Data/hora atual: 16/11/2018, 03:59