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

    Evitar o cadastro em duplicidade e corrigir vba

    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 2/3/2020, 13:12

    Prezados (a)

    Sou novo no BD, tenho um formulário com subformulário.

    Preciso de uma VBA que evite o cadastro em duplicidade, Se possível no evento ao clicar.

    O nome da tabela   (ficha do convênio_antigo) o nome do campo que não pode ter duplicidade é (número siafi) exemplo 670.792)

    Tem um outro problema, poderia resolver o problema do vba. Quando eu cancelar o salvar documento não aparecer a mensagem do motivo.



    Código:
    Sub fncExcluir()
       If MsgBox("Deseja excluir esse item?", vbYesNo + vbInformation, "Atenção") = vbYes Then
       DoCmd.SetWarnings False ' desativa a mensagem padrão do Access
       DoCmd.RunCommand acCmdDeleteRecord ' Excluir registro
       MsgBox ("Item excluido com sucesso"), vbInformation, "Excluido"
       
       Else
       MsgBox ("Operação cancelada"), vbInformation, "Cancelado"
       
       End If
       
    End Sub

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim VarMsg As String
    Dim varResposta As Integer

    VarMsg = "Deseja salvar as alterações"
    varResposta = MsgBox(VarMsg, vbQuestion + vbYesNo, "Salvar?")
    varMotivoAleração = InputBox("Qual Motivo da Alteração", "Motivo")


    If varResposta = vbNo Then

       DoCmd.RunCommand acCmdUndo  ' Desfaz as alterações inseridas
       Cancel = Thue
       Else
       Call fncQuemalterou

    End If

    End Sub
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 411
    Registrado : 08/10/2012

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Sidney em 2/3/2020, 13:27

    Bom dia!

    tente adptar,

    Código:
    if (DCount("[NÚMERO SIAFI]", "FICHA DO CONVÊNIO_ANTIGO", "[NÚMERO SIAFI] = " & Me!NÚMERO SIAFI))>0 then
         msgbox"Registro já existe", vbinformation, "Aviso"
    End if

    uma sujestão, crie sempre campos sem espaços e acentações, siga mais ou menos esse modelo Ex:NUMERO_SIAFI, FICHA_CONVENIO_ANTIGO, NUMERO_SIAFI. pode ter problemas futuros.
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 2/3/2020, 13:37

    Não deu certo! como eu disso sou novo em BD.

    Aparece a seguinte mensagem de erro:

    Erro de compilação
    erro de sintaxe
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 2/3/2020, 13:42

    Utilizei o código no evento ao clicar, porém deu a mensagem de erro.

    segue BD anexo.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Marcelo David em 2/3/2020, 14:00

    Seja bem vindo ao Fórum Wesley,
    Essa casa, como as demais tem suas regras.

    Atente para as tais:

    1. Tenha paciência com quem coloca aqui as suas duvidas.
    2. Clareza nos títulos dos tópicos e duvidas, evite a linguagem MSN.
    3. Não colocar diversas vezes a mesma dúvida.
    4. Explicar detalhadamente o problema e informar a versão do seu Office + Sistema Operativo.
    5. Retorne sempre se deu certo, esse retorno é muito importante.
    6. Respeite toda a equipe Staff e demais membros deste fórum.
    7. Use sempre o botão Busca, sempre que tiver uma dúvida e antes de abrir tópicos.
    8. Não usar palavras como "Urgente". O fórum é livre e ninguém é obrigado a responder com urgência.
    9. A publicidade é proíbida e só pode ser feita pelo Administrador ou depois de aprovada pelo Administrador.
    10. Se o seu tópico não for respondido, tem o direito de fazer um Up ao final de 24horas!
    11. A colocação de Códigos ou Exemplos, devem constar sempre os créditos de quem o elaborou.
    12. Fale, não GRITE! Só letras Maiúsculas, na Internet é o mesmo que gritar!
    13. É proibido tirar duvidas nas Salas de Repositório, devem abrir um novo tópico nas salas de duvidas, relacionando o Exemplo em causa.
    14. É proibido adicionar links externos nos tópicos, que redirecionem para outros sites ("backlinks"), excepto DropBox ou do próprio fórum.
    15. É permitido adicionar links externos, nos códigos VBA dentro das Base de Dados.


    https://www.maximoaccess.com/t48-regras-do-forum

    Observe que a Regra 13 de nossa comunidade está sendo infringida pelo título do seu tópico.
    Peço por gentileza que corrija (pode ser ao postar alguma mensagem) para então dar continuidade
    a sua questão.




    .................................................................................
    Marcelo David | Evitar o cadastro em duplicidade e corrigir vba LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 2/3/2020, 14:17

    Para atender as regras, e o Sr Marcelo David,

    Solicito por gentileza ajuda no formulário que tem subformulário:

    1) Evitar o cadastro em duplicidade no BD (nome do formulário "ficha do convênio_antigo") nome do campo  ("número siafi") exemplo 670.792
    2) Corrigir a VBA para não aparecer o motivo quando cancelar o salvamento.
    Código:
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim VarMsg As String
    Dim varResposta As Integer

    VarMsg = "Deseja salvar as alterações"
    varResposta = MsgBox(VarMsg, vbQuestion + vbYesNo, "Salvar?")
    varMotivoAleração = InputBox("Qual Motivo da Alteração", "Motivo")


    If varResposta = vbNo Then

    DoCmd.RunCommand acCmdUndo ' Desfaz as alterações inseridas
    Cancel = Thue
    Else
    Call fncQuemalterou

    End If

    End Sub

    Agradeço desde já
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Ismael Silva em 2/3/2020, 14:30

    Anexo não veio.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Marcelo David em 2/3/2020, 14:40

    Peço por gentileza que apenas após correção do título (escrevê-lo em minusculo normal) deem suas
    preciosas contribuições.

    Grato por respeitarem isso.


    .................................................................................
    Marcelo David | Evitar o cadastro em duplicidade e corrigir vba LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Evitar o cadastro em duplicidade (ao clicar no evento)

    Mensagem  wesleydexter em 2/3/2020, 14:53

    Peço desculpa pelo equivoco no texto.

    O fórum serve para tirar dúvidas.

    Pelo visto o Sr. Marcelo David. não esta me ajudando em nada, apenas sendo rigoroso.
    como disse anteriormente "sou novato, essa é a primeira vez que participo de um fórum.

    Agradeço mais uma vez.
    Anexos
    Evitar o cadastro em duplicidade e corrigir vba AttachmentFICHA DO CONVÊNIO 2020 - VERSÃO 14.1.2.zip
    BD anexo
    Você não tem permissão para fazer download dos arquivos anexados.
    (434 Kb) Baixado 7 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Marcelo David em 2/3/2020, 15:14

    wesleydexter escreveu:Pelo visto o Sr. Marcelo David. não esta me ajudando em nada, apenas sendo rigoroso.
    como disse anteriormente "sou novato, essa é a primeira vez que participo de um fórum.

    Wesley,
    o fato de ser novato não o põe acima das regras nem aqui e em nenhum outro lugar.

    Se você é novato de Carteira de Habilitação os agentes de trânsito não serão tolerantes
    com você caso não respeite as leis estabelecidas. Pelo o contrário, a lei é muito mais rígida
    para quem é novato de carta.

    Ah sim, estou lhe ajudando! Se eu não lhe instruir quanto as Regras do Fórum,
    não estarei cumprindo meu papel de Moderador. E você sem cumprir as regras poderia
    inclusive ser banido. Coisa que não ocorreu, pois vim aqui para instruí-lo.

    Observe que é sua obrigação como usuário (de todos nós) ler as Regras do Fórum. É o primeiro tópico e ainda
    é aberto um PopUp com a seguinte informação:

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

    Obrigado

    Administração do MaximoAccess

    Veja que foi gentil ao falar sobre isso com você e até dando dica
    de como proceder para correção do título, além de lhe dar boas vindas:

    Marcelo David escreveu:Observe que a Regra 13 de nossa comunidade está sendo infringida pelo título do seu tópico.
    Peço por gentileza que corrija (pode ser ao postar alguma mensagem) para então dar continuidade
    a sua questão.

    Fico grato por atender as Regras e que lhe serva de lição: Antes de entrar em qualquer lugar, procure conhecer as regras do local.

    Sucesso e bons estudos em nossa casa.


    .................................................................................
    Marcelo David | Evitar o cadastro em duplicidade e corrigir vba LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 2/3/2020, 15:22

    Mais uma vez obrigado pela informação!

    Caso não tenha mais observações a ser feito pela vossa excelência peço espaço para os demais usuários do fórum me ajudar na dúvida!



    Apenas quero ajuda no BD, não leve para o pessoal, seja profissional.

    Wink.


    Sem mais,
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 21/04/2011

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Marcelo David em 2/3/2020, 15:32

    Wesley escreveu:Apenas quero ajuda no BD, não leve para o pessoal, seja profissional.


    Wesley, agradeço a dica, mas não estou levando nada para o pessoal, pois não o conheço.

    Fico grato por não manter resposta irônicas, pois não somos crianças.

    Seu tópico está aberto, mas caso insista em ironizar, serei obrigado a bloqueá-lo, impedindo assim
    de receber resposta.  

    Seu tópico estava marcado como resolvido, mas não foi resolvido ainda. Desmarquei para que continuem
    lhe ajudando.

    Sucesso.


    .................................................................................
    Marcelo David | Evitar o cadastro em duplicidade e corrigir vba LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty evitar o cadastro em duplicidade (ao clicar no evento)

    Mensagem  wesleydexter em 2/3/2020, 15:47

    Como eu disse, obrigado pela informação.



    Smile
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 3/3/2020, 17:03

    Solicito por gentileza ajuda no formulário que tem subformulário:

    1) Evitar o cadastro em duplicidade no BD (nome do formulário "ficha do convênio_antigo") nome do campo  ("número siafi") exemplo 670.792


    2) Corrigir a VBA para não aparecer o motivo quando cancelar o salvamento.
    Código:
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim VarMsg As String
    Dim varResposta As Integer

    VarMsg = "Deseja salvar as alterações"
    varResposta = MsgBox(VarMsg, vbQuestion + vbYesNo, "Salvar?")
    varMotivoAleração = InputBox("Qual Motivo da Alteração", "Motivo")


    If varResposta = vbNo Then

    DoCmd.RunCommand acCmdUndo ' Desfaz as alterações inseridas
    Cancel = Thue
    Else
    Call fncQuemalterou

    End If

    End Sub

    Agradeço desde já
    Anexos
    Evitar o cadastro em duplicidade e corrigir vba AttachmentFICHA DO CONVÊNIO 2020 - VERSÃO 14.1.2.zip
    BD anexo
    Você não tem permissão para fazer download dos arquivos anexados.
    (434 Kb) Baixado 10 vez(es)
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 11/12/2017

    Evitar o cadastro em duplicidade e corrigir vba Empty evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Ismael Silva em 3/3/2020, 17:41

    wesleydexter,

    Você postou a sua dúvida dentro do meu tópico, favor verificar e corrigir.
    alterou também o assunto.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7782
    Registrado : 05/11/2009

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Alexandre Neves em 3/3/2020, 19:04

    Boa tarde wesleydexter
    Leia as regras para uma boa convivência no fórum e mantermos o fórum organizado para bem de todos
    Separei o tema do tema do colega por ser membro novo, porque as regras é de eliminar os temas que não respeitem as regras


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Sidney
    Sidney
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 411
    Registrado : 08/10/2012

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Sidney em 4/3/2020, 17:58

    wesley, Boa Tarde!

    segue abaixo o codigo, coloque no evento após atualizar o campo, repare que mudei o nome do campo "NUMERO_SIAFI", assim deve ser tambem em sua tabela,


    Código:
    If (DCount("[NUMERO_SIAFI]", "FICHA DO CONVÊNIO_ANTIGO", "[NUMERO_SIAFI] =  NUMERO_SIAFI ")) > 0 Then
         MsgBox "Registro já existe", vbInformation, "Aviso"
    End If

    bons estudos

    att.

    Sidney
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 5/3/2020, 12:08

    Sidney, Bom dia.

    Coloquei o código no evento após atualizar o campo conforme orientado, porém, aparece a mensagem em todos os cadastros novos no bd que o Registro já existe.
    Alterei o Numero_SIAFI na tabela conforme solicitado só que não mudou nada aparece a mensagem em todos os cadastros novos.


    att,

    wesley
    Lupércio
    Lupércio
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1145
    Registrado : 07/05/2011

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  Lupércio em 5/3/2020, 19:05

    Boa tarde meu amigo!


    Fiz algumas alterações no seu banco.
    Teste ai.




    Lembrando esse código é do Ninja, não é meu.
    Anexos
    Evitar o cadastro em duplicidade e corrigir vba AttachmentFICHA DO CONVÊNIO 2020 - VERSÃO 14.1.2. TESTE AI.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (456 Kb) Baixado 19 vez(es)


    .................................................................................
    Quando tua dúvida for resolvida, de o retorno de agradecimento á aqueles que gastaram seu tempo para te ajudar.
    Clique no botão “Resolvido” logo acima do botão “Enviar” ao lado direito. Todos nós agradecemos.lol!Rolling Eyes
    avatar
    wesleydexter
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/02/2020

    Evitar o cadastro em duplicidade e corrigir vba Empty Re: Evitar o cadastro em duplicidade e corrigir vba

    Mensagem  wesleydexter em 5/3/2020, 20:42

    Lupércio, boa tarde.

    o bd evita registro em duplicidade, porém, não aparece o Número Siafi, e quando eu alterou as informações do cadastro ja preenchido ela não pergunta se eu quero salvar a alteração e nem aparece a mensagem do motivo.

    o ideal seria aparecer o aviso da duplicidade na hora que eu digitasse o número siafi, sem precisar clicar em verificar a duplicidade pelo bt.

      Data/hora atual: 2/12/2020, 16:27