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

    [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Compartilhe

    ramirez.ctba
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 23/04/2012

    [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  ramirez.ctba em 18/8/2018, 16:17

    Olá caros colegas,

    Se possível, peço a vossa ajuda sobre como criar uma tela de aviso e impedir que o registro seja armazenado na tabela "tab_Abastecimento" caso todos os campos coincidirem de estarem duplicados, ou seja, para que o registro esteja correto, nenhuma das informações destes campos podem coincidir no mesmo registro.

    Ex: Placa, Litros, Data Abastecimento, Hora Abastecimento, Valor Unit

    Campos: dsPlaca(Texto), qtLitros(Número,Duplo), dtAbastecimento(Data/Hora), hrAbastecimento(Data/Hora), vlUnitario(Número,Duplo)


    Grato desde já!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  Alexandre Neves em 18/8/2018, 17:51

    Boa tarde e bem-vindo ao fórum
    Leia e respeite as regras do fórum
    Movi-lhe a dúvida para esta sala. A sala de repositório não serve para tirar dúvidas

    Sobre a sua dúvida, coloque no acontecimento AntesDeActualizar do formulário
    If DCount("*", "tab_Abastecimento","dsPlaca='" & NomeControloPlaca &"' and qtLitros=" & NomeControloLitros &" and dtAbastecimento=#" & NomeControloAbastecimento &" and hrAbastecimento=" & NomeControloHora &" and vlUnitario=" & NomeControloValor)>0 then docmd.cancelevent


    .................................................................................
    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

    ramirez.ctba
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 23/04/2012

    Re: [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  ramirez.ctba em 18/8/2018, 19:30

    Olá Alexandre Neves,


    Primeiramente obrigado por responder à pronta entrega.

    Segundo, peço desculpas por postar em local errado, pois é a primeira vez que estou tirando dúvidas pessoalmente, na realidade até hj eu só estava acompanhando a turma e tenho o maior respeito por este fórum.

    Sou iniciante no MS Access e não obtive sucesso no comando que me enviou, acho que fiz de errado no código ou é o BD que tem um campo a mais, no caso cdAbastecimento.

    Também não se a ordem dos campos da tabela tem algo haver com a ordem dos códigos VBA

    Segue o exemplo abaixo:
    Anexos
    Database2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (44 Kb) Baixado 14 vez(es)
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  Alexandre Neves em 19/8/2018, 08:46

    Bom dia
    Coloque
    If DCount("*", "tab_Abastecimento", "dsPlaca='" & txt_dsPlaca & "' and qtLitros=" & txt_qtLitros & " and dtAbastecimento=#" & txt_dtAbastecimento & "# and hrAbastecimento=#" & txt_hrAbastecimento & "# and vlUnitario=" & txt_vlUnitario) > 0 Then DoCmd.CancelEvent


    .................................................................................
    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

    ramirez.ctba
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 23/04/2012

    Re: [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  ramirez.ctba em 19/8/2018, 11:24

    Bom dia Alexandre,

    Deu certo...

    Muito obrigado! Deus te abençoe!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  Alexandre Neves em 19/8/2018, 13:07

    Ficaria melhor, quando cancelar o registo, limpar todos os campos
    If DCount("*", "tab_Abastecimento", "dsPlaca='" & txt_dsPlaca & "' and qtLitros=" & txt_qtLitros & " and dtAbastecimento=#" & txt_dtAbastecimento & "# and hrAbastecimento=#" & txt_hrAbastecimento & "# and vlUnitario=" & txt_vlUnitario) > 0 Then
    DoCmd.CancelEvent
    txt_dsPlaca=null : txt_qtLitros=null : txt_dtAbastecimento=null : txt_hrAbastecimento=null : txt_vlUnitario=null
    End If


    .................................................................................
    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

    ramirez.ctba
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 23/04/2012

    Re: [Resolvido]Impedir e Avisar se Registro Duplicado com mais de um critério na mesma tabela

    Mensagem  ramirez.ctba em 19/8/2018, 13:55

    Show de bola Alexandre Neves,


    Tudo certo e melhor agora!

    Mais uma vez obrigado!

      Data/hora atual: 15/10/2018, 19:49