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]Verificar dados duplicado ao sair do campo

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 8/5/2012, 14:27

    Prezados, bom dia.

    Alguém saberia informar se existe uma maneira de quando sair do campo fazer a verificação se os dados inseridos são duplicados?

    Utilizo a propriedade Indexado, Duplicação não autorizada. Mas está propriedade somente faz a verificação ao salvar o registro, o que causa perda de tempo.
    Caso alguém saiba uma solução diferente, estou no aguardo e agradecendo.
    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]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  criquio 8/5/2012, 14:39

    Tente usando DLookup ou DCount.


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

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 8/5/2012, 15:02

    Prezado Críquio,
    obrigado pela atenção.
    O problema está aí. Não sou muito familiarizado com VBA. Vc teria um exemplo?
    Obrigado
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 8/5/2012, 15:10


    Costumo verificar antes de atualizar:

    Private Sub NomeCliente_BeforeUpdate(Cancel As Integer)
    If Me.NomeCliente = Me.NomeCliente.OldValue Then Exit Sub
    If Not IsNull(DLookup("[NomeCliente]", "tabClientes", "[NomeCliente] ='" & Me!NomeCliente & "'")) Then
    Cancel = True
    Me.NomeCliente.Undo
    MsgBox "Cliente já cadastrado."
    End If
    End Sub

    Altere os Nomes dos campos e tabela conforme os seus.
    Observe que NomeCliente na tabela pode ser diferente de NomeCliente no form.


    Última edição por Norberto Rost em 8/5/2012, 17:18, editado 1 vez(es)
    dadokeys90
    dadokeys90
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 23/08/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  dadokeys90 8/5/2012, 15:20

    Pode ser feito assim tbm:


    Private Sub SuaTxtbox_AfterUpdate()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("SELECT * FROM SuaTabela WHERE SeuCampo LIKE '" & SuaTextbox & "'")

    If rs.RecordCount > 0 Then
    MsgBox "Já existe um usuário com esses dados!", vbExclamation, "Atenção"
    SuaTxtbox = ""
    End If

    End Sub
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 8/5/2012, 15:36


    É possível. Mas usando AfterUpdate, o campo já foi atualizado, e é aconselhável incluir código para desfazer e voltar ao campo.

    E vale lembrar que, quando usamos Recordset, sempre devemos fechá-lo e limpar a memória:
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing

    dadokeys90
    dadokeys90
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 23/08/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  dadokeys90 8/5/2012, 15:39

    bem lembrado quanto ao recordset norberto. Mas após a msgbox coloquei uma linha que retirar o valor do campo, embora afterupdate não seja indicado ainda sim funciona muito bem!
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 8/5/2012, 15:42


    Certo, amigo!
    Não reparei o detalhe. Embarassed
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 8/5/2012, 15:50

    Ok Feras!

    Funfou a contento. Ambas as soluções.

    Obrigado aos senhores, Norberto Rost e Dadokeys90, e também ao Críquio pela sugestão inicial.
    Agradecido
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 8/5/2012, 15:59


    Muito bom!

    O Fórum agradece o retorno!

    cheers
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 8/5/2012, 17:20


    Se usou meu código, veja uma correção importante na mensagem 4.
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 8/5/2012, 20:34

    Ok, Norberto.
    Estou usando o seu código.
    A título didático, o que motivou a correção ou que poderia ocorrer sem ela?
    Obrigado
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 9/5/2012, 14:50


    É que se o usuário entrar com o mesmo valor que já havia, o sistema verifica que já existe, e apaga.
    Com este código, se o valor digitado for igual ao anterior, o update não ocorre.
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 9/5/2012, 16:06

    Ah! Ok.
    Obrigado, Norberto.
    Até!
    avatar
    spp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 24/10/2011

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  spp 9/5/2012, 16:44

    OLDRIVG

    Boa tarde!

    Use Este Ao Sair
    Para não deixar o campo Nulo, so Fazer a Correção dos campos

    If Nz(Nome, "") = "" Then
    If IsNull(Nome) Or Me.Nome = True Then
    MsgBox "O Nome do Cliente é de preenchimento obrigatório!", vbInformation, " Atenção Digitador"
    Cancel = True
    Nome.SetFocus
    End If
    End If
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 9/5/2012, 21:02

    Olá, spp. Boa tarde!

    Agrdeço a sua colaboração e já implementei o código no campo. Está funcionando.

    Só tem um pequeno pormenor: se o digitador entrar no campo e não digitar nada, beleza. Ele não consegue sair do campo. Mas se ele digitar algum dado, sair do campo e retornar ao mesmo campo e apagar os dados, ele consegue sair do campo sem digitar e continuar preenchendo o registro.
    Há alguma maneira de evitar isto?
    Desde já agradeço.
    avatar
    spp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 24/10/2011

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  spp 9/5/2012, 21:30

    Se voçê digitar simplismente uma letra e digitar enter vai para o proximo campo
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 9/5/2012, 22:02

    Acho que você não entendeu.

    A intenção do código é evitar que o digitador entre com o cursor no campo e sai sem digitar qualquer dado. Correto?

    No entanto com o código sugerido por você isto acontece se o digitador colocar o cursor no campo não digitar nada. Se ele, o digitador, digitar qualquer caracter ele sai normalmente. Até aí legal.

    Mas se o digitador voltar ao mesmo campo e apagar o dado que ele, o digitador, digitou ali anteriormente e não digitar mais nada (deixar o campo em branco), ele consegue sair do campo normalmente, como se não houvesse nenhum código. É como se os dados ficassem invisiveis. Ou seja, o digitador ou o usuário estão vendo o campo vazio, mas o sistema não. Para o sistema existe dados no campo por isso ele não impede que o cursor sai.
    Isto que deve ser impedido de acontecer, situação para a qual lhe perguntei se você teria alguma sugestão.
    avatar
    spp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 24/10/2011

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  spp 9/5/2012, 22:20

    Não tenho nenhuma sugestão no momento
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 9/5/2012, 22:22

    Ok. Obrigado
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 9/5/2012, 23:05


    Tente assim:

    Ao digitar no campo seguinte, se o campo cliente for nulo, cancela e volta.
    *Também é possível fazer de outras formas*


    Private Sub CampoSeguinte_Dirty(Cancel As Integer)
    If IsNull(Me.NomeCliente) Then
    Cancel = True
    Me.NomeCliente.SetFocus
    MsgBox "Informe o Cliente."
    End If
    End Sub

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 9/5/2012, 23:39

    Olá Norberto, boa noite.
    Obrigado pela a atenção.

    O que ocorre é o seguinte:

    eu já estou usando o código abaixo, sugerido por você no post 4, no evento antes de atualizar do campo "Masp", que está funcionando beleza. Ou seja, não está permitindo cadastrar número de masp já cadastrado.

    If Me.Masp = Me.Masp.OldValue Then Exit Sub
    If Not IsNull(DLookup("[Masp]", "Tbl_Geral", "[Masp] ='" & Me!Masp & "'")) Then
    Cancel = True
    Me.Masp.Undo
    MsgBox "ESTE MASP JÁ ESTA CADASTRADO. VERIFIQUE. SE NECESSÁRIO FAÇA A ATUALIZAÇÃO DOS DADOS."
    End If


    O que estou querendo é evitar que o usuário passe pelo campo "Masp" sem digitar dados. Esrive tentando o código

    If IsNull(Me.Masp) Then
    MsgBox "O NÚMERO DO MASP É OBRIGATÓRIO!", vbInformation, " ATENÇÃO DIGITADOR"
    Me.Undo
    DoCmd.CancelEvent
    End If


    e também o código sugerido pelo colega ssp no post 15, mas não funcionou a contento pois só funciona se nunca tiver sido digitado dados no campo "Masp". Se tiver sido digitado dados no campo e depois apagado não funciona. Como já citado no post 16, é como se os dados ficasse invisiveis.
    Agradeço


    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 9/5/2012, 23:50


    Bem, o código que sugeri faz voltar ao campo que ficou em branco no momento em que o usuário tenta digitar algo no campo seguinte, considerando a ordem de tabulação.
    Claro que ele ainda poderia sair clicando em outro campo.

    Para impedir de sair sem preencher, tente no evento Ao sair, que suporta o parâmetro Cancel:

    Private Sub Masp_Exit(Cancel As Integer)
    If IsNull(Me.Masp) Then
    Cancel = True
    MsgBox "O campo deve ser preenchido."
    End If
    End Sub

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 10/5/2012, 00:23

    Eu já tentei este código só que usando os comandos Me.Undo e DoCmd.CancelEvent no evento ao sair do campo "Masp", mas funciona da forma ja citada. Se o campo é "virgem", funciona legal. Mas se não é, não funciona.

    Teria que ser um código do tipo "null". Mas não estou sabendo fazê-lo.

    E o que você sugeriu por último, também não funcionou e após o campo "Masp" no formulário o próximo campo é um grupo de opções.
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 10/5/2012, 00:27

    Experimente assim:

    Private Sub Masp_Exit(Cancel As Integer)
    If IsNull(Me.Masp) or Me.Masp = "" Then
    Cancel = True
    MsgBox "O campo deve ser preenchido."
    End If
    End Sub

    Abraços
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  OLDRIVG 10/5/2012, 00:45

    Olá, Balem. Boa noite.

    Deu erro Em tempo de execução "13": Tipos incompatíveis

    Balem, me desculpe aí.

    Deu certo sim. Eu havia esquecido de colocar as aspas duplas. Funcionou beleza.
    Obrigado.
    Mais uma vez me desculpa.
    Agradecido
    avatar
    Convidad
    Convidado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Convidad 10/5/2012, 00:57

    Valeu pelo retorno !!


    Boa sorte!!

    Conteúdo patrocinado


    [Resolvido]Verificar dados duplicado ao sair do campo Empty Re: [Resolvido]Verificar dados duplicado ao sair do campo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 11:09