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

    [Resolvido]Ele esta salvando nomes iguais

    crysostomo
    crysostomo
    VIP
    VIP

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1338
    Registrado : 23/01/2018

    [Resolvido]Ele esta salvando nomes iguais Empty [Resolvido]Ele esta salvando nomes iguais

    Mensagem  crysostomo em 20/3/2019, 18:44

    meu amigos boa tarde , estou com um frm que no botão salvar ele tem que verificar se o nome ja está na tabela , se caso não estiver ele salva se já estiver ele desfaz , mas o problema é que ele está verificando tudo ok , mas está salvando assim mesmo.
    aonde estou errando.
    Código:
    If (Not IsNull(DLookup("[nome]", "tblSample", _
    "[nome] ='" & Me![nome] & "'"))) Then
    MsgBox "O cliente " & Me.nome & " ja é cadastrado.", vbInformation, "Arquivamento"
    'Me.nome.Undo
    Cancel = True 'cancela o evento.
    Else

    DoCmd.Save
    Me.Recalc
    DoCmd.RunCommand acCmdRecordsGoToNew

    MsgBox " Cadastro salvo", vbInformation, "Arquivamento"
    End If
    End Sub


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4223
    Registrado : 06/11/2009

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Assis em 20/3/2019, 18:57

    Teste assim:


    If (Not IsNull(DLookup("[nome]", "tblSample", _
    "[nome] ='" & Me![nome] & "'"))) Then
    MsgBox "O cliente " & Me.nome & " ja é cadastrado.", vbInformation, "Arquivamento"
    Me.nome.setfocus
    Me.nome=""
    Exit Sub

    Else

    DoCmd.Save
    Me.Recalc
    DoCmd.RunCommand acCmdRecordsGoToNew

    MsgBox " Cadastro salvo", vbInformation, "Arquivamento"
    End If


    .................................................................................
    *** Só sei que nada sei ***
    toyebom
    toyebom
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1119
    Registrado : 18/07/2012

    [Resolvido]Ele esta salvando nomes iguais Empty ele esta salvando nomes iguais

    Mensagem  toyebom em 20/3/2019, 21:55

    Tira o ' em 'Me.nome.Undo
    e acho que chega Me.Undo


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    crysostomo
    crysostomo
    VIP
    VIP

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1338
    Registrado : 23/01/2018

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  crysostomo em 21/3/2019, 02:41

    beleza, Assis , a mensagem constinua , mesmo o evento sendo cancelado a mensagem cadastro salvo continua , mas toyebom, se não estiver o método undo, ele não desfaz do evento , pois o cancel = true não funciona e eu colocando o Undo e tanto o valor ="" ela adiciona mais uma linha em branco na tabela.
    Ja fiz de outros eventos , cancel =true, sub exit , me.nome="".
    e mais pra frente vou querer contar registros , que não posso contar registro vazio.
    Porque se eu não colocar o botão salvar para verificar se o campo nome esta vazio , ele me retorna o erro do codigo do novo registro (DoCmd.RunCommand acCmdRecordsGoToNew)


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1063
    Registrado : 01/03/2014

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Celso Roberto em 21/3/2019, 04:17

    Olá...
    Tente desta forma abaixo:

    Obs: No evento ao clicar o Cancel=True Não tem efeito.
               
    Código:
    If (Not IsNull(DLookup("[nome]", "tblSample", _
    "[nome] ='" & Me![nome] & "'"))) Then
    MsgBox "O cliente " & Me.nome & " ja é cadastrado.", vbInformation, "Arquivamento"

    DoCmd.CancelEvent
    Me.Nome = "" 'desfaz a digitação.
    Me.Nome.SetFocus

    Else

    DoCmd.Save
    Me.Recalc
    DoCmd.RunCommand acCmdRecordsGoToNew

    MsgBox " Cadastro salvo", vbInformation, "Arquivamento"
    End If
    End Sub


    Obrigado por ter verificado os seus tópicos

    Abraços e sucesso


    Última edição por Celso Roberto em 21/3/2019, 19:35, editado 2 vez(es)


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


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4223
    Registrado : 06/11/2009

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Assis em 21/3/2019, 08:35

    Bom dia crysostomo

    Poste aí só a tabela e o formulário

    Aguardo


    .................................................................................
    *** Só sei que nada sei ***
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1063
    Registrado : 01/03/2014

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Celso Roberto em 21/3/2019, 15:12

    Olá...

    Acredito que seria desta forma:

    Código:
    If (Not IsNull(DLookup("[nome]", "tblSample", "[nome] ='" & Me!nome & "'"))) Then
          If MsgBox("O cliente " & Me.nome & " ja é cadastrado." & Space(2) & "" _
          & "Deseja Continuar !! ", vbYesNo + vbExclamation + vbDefaultButton2, "Confirmação") = vbYes Then
                         
      Else
          DoCmd.CancelEvent
          Me.nome= Null 'desfaz a digitação.
          Me.nome.SetFocus
      End If
      End If


    Abraços


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


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    crysostomo
    crysostomo
    VIP
    VIP

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1338
    Registrado : 23/01/2018

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  crysostomo em 21/3/2019, 16:16

    Boa tarde.
    coloquei o campo nome para atualizar se o nome ja existe na tabela .
    veja bem , estou verificando o campo para que não seja vazio , reparem que a primeira vez que você clica no botão salvar(v) ele fala que precisa preencher os campos , ok , mas na segunda vez que você tenta salvar o mesmo nome ele retorna que o cliente está cadastrado o ruim é que ele adiciona mais uma linha em branco na tabela, que futuramente vou querer contar os ID mas manda a mensagem que cadastro salvo, e voce pode ver também que o comando ao mover o mouse é impedido por alguma comando.
    e quando  alguma cadastro for salvo o comando novo(DoCmd.RunCommand acCmdRecordsGoToNew) volta com erro.
    por gentileza poderia salvar em 2007?


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4223
    Registrado : 06/11/2009

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Assis em 21/3/2019, 17:19

    Boa tarde

    Teste

    - Atenção alterei o campo "Cod" para numero, não automático. Ao gravar ele fica automático

    - Formulário desvinculado

    Digite um nome de cliente "Assis" para testar pois vai um cliente gravado com esse nome.
    Anexos
    [Resolvido]Ele esta salvando nomes iguais AttachmentArquivamento - Assis.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (159 Kb) Baixado 12 vez(es)


    .................................................................................
    *** Só sei que nada sei ***
    crysostomo
    crysostomo
    VIP
    VIP

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1338
    Registrado : 23/01/2018

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  crysostomo em 21/3/2019, 19:05

    tem hora que ele grava e tem hora que ele deixa de gravar as tabelas ficam varias , vou dar uma olhada nisso aqui, ou algum erro de versão


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4223
    Registrado : 06/11/2009

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Assis em 21/3/2019, 20:11

    Testou no exemplo que enviei, ou já copiou para o seu BD.


    .................................................................................
    *** Só sei que nada sei ***
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1063
    Registrado : 01/03/2014

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Celso Roberto em 21/3/2019, 21:09

    Olá a todos...

    Na minha opinião:

    Eu deixaria a verificação de duplicidade no evento antes de atualizar do campo "Nome", porque este evento tem a função "Cancel" que se caso haja a duplicidade ele cancela o evento e manter o foco no campo.

    Ficando assim

    Código:
    Private Sub nome_BeforeUpdate(Cancel As Integer)
        If (Not IsNull(DLookup("[nome]", "tblSample", "[nome] ='" & Me!nome & "'"))) Then
            MsgBox "O cliente " & Me.nome & Space(2) & " ja é cadastrado.", vbInformation, "Arquivamento"
            Cancel = True
            Me.nome.Undo 'desfaz a digitação.
            
        Else
        End If
    End Sub

    Também faria como o Assis,alteraria o campo "Cod" na tabela para numero e no botão salvar colocaria desta forma:

    Código:
    Private Sub Imagem50_Click()
        If IsNull(Me.nome) Then
            MsgBox "Para salvar os campos tem que está preenchidos.", vbCritical, "Arquivamento"
            Me.nome.SetFocus
        Else
            Me.cod = Nz(DMax("cod", "tblsample")) + 1 ' Gera novo código
            DoCmd.RunCommand acCmdSaveRecord
            MsgBox "Cadastro salvo com Sucesso!", vbExclamation + vbOKOnly + vbDefaultButton1, "Aviso"
            'MsgBox " Cadastro salvo", vbInformation, "Arquivamento"
            DoCmd.GoToRecord , , acNewRec
            Me.nome.SetFocus
        End If
    End Sub


    E no botão fechar para poder fechar com campo "cod" vazio:

    Código:
    On Error Resume Next
        If IsNull(Me.cod) Or Me.cod = "" Then
            DoCmd.Close
            Exit Sub
        End If


    Quanto ao formulário ser vinculado ou desvinculado é questão de gosto

    Espero que ajude


    Abraços


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


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1063
    Registrado : 01/03/2014

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Celso Roberto em 3/10/2019, 21:01

    Olá..

    Conseguiu resolver?

    Caso sim, por favor encerre o tópico
    Caso não, vamos dar continuidade

    Continuamo aguardando o seu retorno


    Abraços


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


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    crysostomo
    crysostomo
    VIP
    VIP

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1338
    Registrado : 23/01/2018

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  crysostomo em 3/10/2019, 21:26

    Boa tarde.
    Resolvido..
    Obg


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1063
    Registrado : 01/03/2014

    [Resolvido]Ele esta salvando nomes iguais Empty Re: [Resolvido]Ele esta salvando nomes iguais

    Mensagem  Celso Roberto em 3/10/2019, 21:29

    Olá..

    Obrigado cheers


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


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: 23/9/2020, 13:55