MaximoAccess

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

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

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

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

Obrigado

Administração

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


2 participantes

    [Resolvido]Alertar e mostrar registros duplicados

    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 26/9/2014, 18:13

    Prezados colegas,

    Preciso de ajuda para verificar se um registro está duplicado, levando em conta a análise de dois campos da tabela.

    Ao inserir dados no formulário que registra as ocorrências do mês, preciso verificar se há dados repetidos baseado nos campos "codFunc" (onde é identificado o funcionário) e "Mês/Ano" (onde é identificada a data da Ocorrência).
    Ou seja, preciso verificar se fulano de tal no mês tal já possui ocorrência registrada.

    Nome da tabela de origem dos dados: "tabOcorMensal"
    Nome dos campos da tabela: "codFunc" e "Mês/Ano"

    Nome do formulário: "frmReceberDocumentos"
    Nome dos campos do formulário: "codFunc" e "MêsAno"

    Agradeço desde já a ajuda dos colegas.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 26/9/2014, 18:27

    Boa tarde, e bem-vindo ao fórum
    Nomeie de forma normalizada.
    Coloque no acontecimento AoSair dos controlos de codFunc e MesAno:
    if dcount("*","tabOcorMensal","codFunc=" & TxtCodFunc & " and MesAno='" & TxtMesAno &"'")>0 then
    msgbox "Já existe registo do funcionário " & TxtCodFunc & " no mês " & TxtMesAno
    docmd.cancelevent
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 29/9/2014, 12:19

    Oi Alexandre,

    Implementei conforme sugerido e deu certo, só que me deparei com outra dúvida. Após informa ao usuário que há registro duplicado, gostaria de dar a opção para modificar o registro caso fosse necessário. Tentei assim:

    Dim a As Integer

    If DCount("*", "tabOcorMensal", "CodFunc=" & TxtCodFunc & " and MesAno='" & TxtMesAno & "'") > 0 Then
    a = (MsgBox "Já existe registo do funcionário " & TxtCodFunc & " no mês " & TxtMesAno & vbNewLine & "Deseja alterar os dados?", vbYesNo + vbQuestion, "ATENÇÃO!")
    Select Case a
    Case vbYes
    ????? (Como localizar o registro identificado como duplicado?)
    Case vbNo
    DoCmd.CancelEvent

    End Select
    Else
    DoCmd.CancelEvent

    End If

    End Sub

    Gostaria de direcionar o usuário para o registro duplicado caso ele queira editar o registro.



    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 29/9/2014, 19:06

    Boa tarde,

    Dim Rst As DAO.Recordset
    If DCount("*", "tabOcorMensal", "CodFunc=" & TxtCodFunc & " and MesAno='" & TxtMesAno & "'") > 0 Then
    if MsgBox ("Já existe registo do funcionário " & TxtCodFunc & " no mês " & TxtMesAno & vbNewLine & "Deseja alterar os dados?", vbYesNo + vbQuestion, "ATENÇÃO!")=vbyes then
    Set Rst = Me.RecordsetClone
    Rst.FindFirst "CodFunc=" & TxtCodFunc & " and MesAno='" & TxtMesAno & "'"
    Me.Bookmark = Rst.Bookmark
    else
    Else
    DoCmd.CancelEvent

    End If
    Set Rst = Nothing
    End Sub


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 29/9/2014, 21:34

    Oi Alexandre,

    Está dando erro em tempo de execução 3021: Nenhum registro atual.

    Obs. Eu retirei o último else e inclui end if logo após DoCmd.CancelEvent. O código está com dois else seguidos é assim mesmo? Não seria end if? Fiz besteira?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 29/9/2014, 22:03

    O formulário já traz o registo carregado? Se sim, deverá funcionar


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 29/9/2014, 22:20

    Alexandre, deixa ver se eu entendi, vc quer saber se o formulário é do tipo entrada de dados ou se já traz dados carregados, ok? Se for isso o formulário já traz dados carregados mas alguma coisa está errada, não está funcionando.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 30/9/2014, 10:14

    Bom dia,
    Só vendo a bd


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 30/9/2014, 20:37

    Oi Alexandre.

    Segue o arquivo para análise. No formulário de análise da documentação escolha a opção Receber documentos Trabalhistas. Depois filtre uma empresa, um contrato e um funcionário.

    Fico no aguardo.

    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 30/9/2014, 20:42

    Alexandre,

    Não estou conseguindo anexar o arquivo para enviar. Tentei enviar o arquivo normal e compactado, porém aparece a mensagem dizendo que o arquivo não é válido: nome do arquivo incorreto.

    Como faço para enviar, há outra forma?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 30/9/2014, 20:43

    Tem de ser num dos formatos permitidos (3g2, 3gp, bmp, doc, docm, docx, gif, jpg, m4a, m4v, mov, mp3, mp4, mpg, pdf, png, pps, ppt, pptm, pptx, swf, tif, txt, wma, wmv, xls, xlsb, xlsm, xlsx, zip)


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 1/10/2014, 21:06

    Alexandre,

    Segue o banco para análise. O nome do formulário onde ocorre o evento é frmReceberDocumentosTrabalhistas, ele é acionado pelo formulário frmTerceirizadosGestãoDocumental. Para testar basta acessar o formulário de análise da documentação (frmTerceirizadosGestãoDocumental) e escolher a opção Receber documentos Trabalhistas. Depois filtre uma empresa, um contrato e um funcionário e confirme a ação.

    Abs,
    Anexos
    [Resolvido]Alertar e mostrar registros duplicados AttachmentGFC.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (817 Kb) Baixado 36 vez(es)
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 7/10/2014, 17:35

    Oi Alexandre,

    Vc chegou a ver banco que encaminhei?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 7/10/2014, 18:54

    Boa tarde,
    Mandou a bd com algumas ratoeiras para abrir.
    Não vejo onde colocou o código que dá o erro que mencionou


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 8/10/2014, 23:39

    Prezado Alexandre,

    Vc têm razão. Enxuguei o banco e estou encaminhando para análise. O erro, em questão, ocorre no subformulário “sfrmReceberDocumentosTrabalhistas”, mais precisamente no evento ao sair da caixa de texto “txtMesAno”.

    Após preencher o Mês de Referência localizado no subformulário sfrmReceberDocumentosTrabalhistas, se for detectado que determinado funcionário já tem ocorrência registrada que coincide com a atual, o sistema avisa (Já existe registro do funcionário no mês. Deseja alterar os dados? Sim/Não). Caso a opção escolhida seja Sim ocorre o erro.

    Detalhe – O acesso ao referido subformulário é feito pelo formulário “frmTerceirizadosGestãoDocumental”, é por este formulário que se identifica o CodFunc e o Nome do funcionário.

    Para gerar o erro basta:

    1) Filtrar uma empresa, um contrato e um funcionário e confirmar a ação no formulário “frmTerceirizadosGestãoDocumental”; e
    2) Preencher o Mês de Referência (sugestão “10/2014”), aguardar a pergunta “Deseja alterar os dados? Sim/Não” e responder “Sim”. Pronto o erro ocorre.

    Espero ter facilitado o entendimento.

    Grande abraço.
    Anexos
    [Resolvido]Alertar e mostrar registros duplicados AttachmentSCS.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (582 Kb) Baixado 19 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 9/10/2014, 15:12

    Boa tarde,
    O formulário não está a carregar registos que incluam o registo já existente. Ele apenas cria novo registo. Terá de repensar em editar o registo doutra forma


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 9/10/2014, 16:55

    Beleza Alexandre, agora entendi. Valeu pelos esclarecimentos.

    Surgiu outra dúvida, ainda sobre o mesmo assunto. Para mostrar na mensagem o Nome do funcionário ao invés do CodFunc o que preciso altera na expressão abaixo?
    Tentei trocar na expressão abaixo o "CodFunc" por "Nome" e surgiu o erro (faltando operador). A expressão deve ser alterada quando fizer referência a texto e não a número?

    Dim Rst As DAO.Recordset
    If DCount("*", "tabOcorMensalFunc", "CodFunc=" & txtCodFunc & " and MesAno='" & txtMesAno & "'") > 0 Then

    If MsgBox("Já existe registo do funcionário " & txtCodFunc & " no mês " & txtMesAno & vbNewLine & "Deseja alterar os dados?", vbYesNo + vbQuestion, "ATENÇÃO!") = vbYes Then
    Set Rst = Me.RecordsetClone
    Rst.FindFirst "CodFunc=" & txtCodFunc & " and MesAno='" & txtMesAno & "'"
    Me.Bookmark = Rst.Bookmark

    Else

    Cancel = True
    Me.Undo
    End If
    End If
    Set Rst = Nothing
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 9/10/2014, 20:28

    a linha será
    If MsgBox("Já existe registo do funcionário " & DLookup("Nome", "tabFuncionário", "CódFunc=" & txtCodFunc) & " no mês " & txtMesAno & vbNewLine & "Deseja alterar os dados?", vbYesNo + vbQuestion, "ATENÇÃO!") = vbYes Then


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 9/10/2014, 22:24

    Alexandre,

    Muiitooooooooo obrigado pela ajuda prestada. Nota 10.

    Valeu.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Alexandre Neves 10/10/2014, 09:22

    Bom dia,
    Falta o "Resolvido"


    .................................................................................
    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
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 13/10/2014, 16:26

    Ops! Achei que tinha registrado como resolvido.
    avatar
    SIDINEY LUCAS
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 01/09/2014

    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  SIDINEY LUCAS 13/10/2014, 16:29

    Agora vai.

    Conteúdo patrocinado


    [Resolvido]Alertar e mostrar registros duplicados Empty Re: [Resolvido]Alertar e mostrar registros duplicados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 15:49