MaximoAccess

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

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

    Connekta Informatica
    Connekta Informatica
    VIP
    VIP

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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.




    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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
    Connekta Informatica
    Connekta Informatica
    VIP
    VIP

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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
    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  AttachmentSistema de Ordem de Serviços - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (161 Kb) Baixado 28 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.




    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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.
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Código VBA: Verificar se o Código Cliente existe e Verificar se o CNPJ/CPF existe  Empty 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: 24/10/2020, 06:48