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


4 participantes

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 24/10/2011, 20:25

    Senhores,

    Tenho uma tabela para registro de notas fiscais e gostaria de proibir duplicação de registro seguindo a seguinte combinação de campos:
    Codfornecedor
    tipoNF
    NumeroNF
    DataemissaoNF
    ValorNF

    Ou seja, para verificar se um registro de nota fiscal é duplicado gostaria validar a combinação completa dos campos Codfornecedor, tipoNF, NumeroNF, DataemissaoNF, ValorNF
    Deste modo, um registro somente será considerado duplicado se todos os campos Codfornecedor, tipoNF, NumeroNF, DataemissaoNF, ValorNF forem iguais.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  criquio 24/10/2011, 20:32

    Talvez seja algo assim:

    If DCount("*", "NomeDaTabela", "CodFornecedor=" & Me.CodFornecedor & " And tipoNF='" & Me.tipoNF & "' And NumeroNF=" & Me.NumeroNF & " And ValorNF=" & Me.ValorNF & " And DataemissaoNF=#" & Me.DataemissaoNF & "#") > 0 Then
    MsgBox "Tudo isso aí que você digitou já existe.", vbCritical, "Atenção"
    Else
    Blá blá blá patati patatá...
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 24/10/2011, 23:01

    Criquio,
    Coloquei o código ao sair do campo "numero doc", mas não funcionou, :

    Private Sub NUMERO_DOC_Exit(Cancel As Integer)
    If DCount("*", "GerarProtocoloitem", TIPO = " & Me.tipo & " And [NUMERO DOC] = " & Me.[numero doc] & " And [VALOR BRUTO] = " & Me.[valor bruto] & " And [DATA DOC] = "#" & Me.[DATA DOC] & "#") > 0 Then
    MsgBox "Já existe documento para este fornecedor.", vbCritical, "Atenção"
    DoCmd.CancelEvent
    Else
    Me.[VALOR BRUTO].SetFocus


    'TIPO
    'Data DOC
    'NUMERO DOC
    'VALOR BRUTO

    End If

    End Sub
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  criquio 24/10/2011, 23:47

    Aparece alguma mensagem de erro? Tirando o campos data, todos os outros são numéricos? Campos tipo texto precisam estar entre aspas simples e duplas, campos tipo número apenas aspas duplas. E talvez se formatar a data assim tambem ajude: Format(Me.[DATA DOC], "mm/dd/yyyy"). E procure tirar esses espaços nos nomes dos campos. No lugar de DATA DOC, coloque txtDataDoc. Veja nesse pequeno tutorial o motivo:
    http://maximoaccess.forumeiros.com/t1162-dicas-para-iniciantes-nomear-campos-e-elementos-de-um-sistema-em-access?highlight=iniciantes


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 25/10/2011, 10:59

    Criquio,

    Tirando o campo data e o campo valor bruto, os demais são texto.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 25/10/2011, 11:24

    Criquio,

    Criei um BD de exemplo, com os campos todos no formato número com exceção do campo data e coloquei o código ao sair do campo valornf. É um pequeno BD, se vc puder dar uma olhada, pois não funcionou. Veja por favor, o bd anexo salvei em access 2003 para ficar acessível a todos.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  criquio 25/10/2011, 11:27

    Como eu disse anteriormente, para campos tipo texto, o campo que vem no critério precisa estar entre aspas simples e duplas: "Nome='" & Me.txtNome & "'

    Tente aí.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 25/10/2011, 12:07

    Criquio,

    Não consegui, veja por favor meu exemplo em anexo.

    Anexos
    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado AttachmentVerduplicacaocomvariosvampos2003.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 18 vez(es)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  criquio 25/10/2011, 16:41

    Darei uma olhada assim que o tempo me permitir, caso algum colega não o faça antes.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  vieirasoft 30/10/2011, 11:29

    Estou a puxar o tópico para cima. se já tiver resolvido, agradeço o seu retorno.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 30/10/2011, 22:39

    Ainda não foi resolvido.
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  vieirasoft 14/11/2011, 11:57

    Como não houve retorno, o tópico passa a resolvido. Qualquer coisa reabra, por favor.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  Dilson 14/11/2011, 14:36

    O código que o Criquio passou na mensagem n° 2 é a solução.

    Eu testei aqui no exemplo repassado e funcionou.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 15/11/2011, 12:44

    Dilson,

    Você poderia postar novamente o exemplo testado por você? pois por aqui não consigo usar o código informado pelo Criquio.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  Dilson 16/11/2011, 11:12

    Donizeth será um prazer. No entanto, o exemplo está na minha máquina em casa.

    Até logo mais a noite se não tiver solucionado, disponibilizo para você funcionando na perfeição de Criquio Calavera.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  Dilson 17/11/2011, 01:22

    Olha ele aí:

    Download
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 17/11/2011, 09:27

    Dilson,

    Mas a mensagem está aparecendo independente de ter a sequência duplicada ou não.

    Como disse em meu tópico, o que eu gostaria de fazer era validar se um registro é duplicado, considerando a combinação de vários campos, e no exemplo os campos compinados são:

    Codfornecedor
    Tiponf
    NumeroNF
    DataemissaoNF
    ValorNF

    Deste modo se os cinco campos acima forem iguais a um registro já existente o access não deverá gravar o registro e emitirá uma mensagem.

    Por fim, com o código que foi repassado não estou conseguindo atender o exposto acima.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  Dilson 17/11/2011, 17:38

    Experimente:

    Coloque no evento "Antes de atualizar" do campo "valornf"

    On Error Resume Next
    If DCount("*", "cadastronf", "CodFornecedor=" & Me.txtCodfornecedor & " And tiponf='" & Me.txtTiponf & "' And Numeronf=" & Me.txtNumeronf & " And Valornf=" & Me.txtValornf & " And dataemissaonf=#" & Me.txtDataemissaonf & "#") > 0 Then
    MsgBox "Tudo isso aí que você digitou já existe.", vbCritical, "Atenção"
    Cancel = True
    Me.Undo
    Else
    Exit Sub
    End If
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 18/11/2011, 09:27

    Obrigado, o código resolveu meu problema.
    avatar
    SAPMM
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 369
    Registrado : 07/08/2011

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  SAPMM 18/11/2011, 16:48

    Dilson,

    Agora fui aplicar em minha realidade e deparei que tenho campos em duas tabelas e dois forms, deste modo tentei ajustar o código de:
    On Error Resume Next
    If DCount("*", "cadastronf", "CodFornecedor=" & Me.txtCodfornecedor & " And tiponf='" & Me.txtTiponf & "' And Numeronf=" & Me.txtNumeronf & " And Valornf=" & Me.txtValornf & " And dataemissaonf=#" & Me.txtDataemissaonf & "#") > 0 Then
    MsgBox "Tudo isso aí que você digitou já existe.", vbCritical, "Atenção"
    Cancel = True
    Me.Undo
    Else
    Exit Sub
    End If

    Para o código:
    On Error Resume Next
    If DCount("*", "gerarprotocolocab", "cnpj=" & Forms.gerarprotocolocab.Me.CNPJ& " or cpf=" & Forms.gerarprotocolocab.Me.CPF) & DCount("*", "gerarprotocoloitem", "TIPO='" & Me.TIPO & "' And NUMERODOC=" & Me.NUMERODOC & " And VALORBRUTO=" & Me.VALORBRUTO & " And DATADOC=#" & Me.DATADOC & "#") > 0 Then

    MsgBox "Tudo isso aí que você digitou já existe.", vbCritical, "Atenção"
    Cancel = True
    Me.Undo
    Else
    Exit Sub
    End If

    Onde os campos CNPJ, CPF, TIPO, NUMERODOC são do tipo texto.

    Mas o access está retornando com a MsgBox "Tudo isso aí que você digitou já existe.", vbCritical, "Atenção".
    A mensagem é retornada mesmo não estando a sequencia duplicada.
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  vieirasoft 27/11/2011, 20:19

    Como não houve retorno, o tópico passa a resolvido. Qualquer coisa reabra, por favor.

    Conteúdo patrocinado


    [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado Empty Re: [Resolvido]Validar vários campos em um form para verificar se o novo registro é duplicado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 14:17