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

    SetFocus não funciona

    avatar
    Osecle
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 04/10/2016

    SetFocus não funciona Empty SetFocus não funciona

    Mensagem  Osecle 28/3/2020, 00:12

    Tenho um formulário de cadastro onde a primeira textbox é para o id. Fiz um código para evitar duplicidade de id e caso ocorra, ele não registra, manda uma msgbox para o usuário e limpa o campo da textbox. Só que coloquei para, quando isso ocorrer, depois de limpar a textbox o focus permanecesse naquela texbox. Só que ela vai para a segunda texbox, ignorando o comando do setfocus. Por exemplo: Textbox1 = id; textbox2 = nome. Se id = textbox1 então avisa o usuário a duplicidade, limpa a textbox1 e deve manter o focus na textbox1. Só que, o focus vai para a textbox2, desobedecendo o comando setfocus. Alguém pode me ajudar, por favor?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    SetFocus não funciona Empty Re: SetFocus não funciona

    Mensagem  DamascenoJr. 28/3/2020, 00:38

    Use o evento "antes de atualizar"

    Nele faça as verificações necessárias e use o "cancel = true" para evitar que o controle perca o foco.

    Se id = textbox1 então avisa o usuário a duplicidade, cancel = true, e o foco se mantem na textbox1


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    Osecle
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 04/10/2016

    SetFocus não funciona Empty SetFocus não funciona

    Mensagem  Osecle 28/3/2020, 02:17

    Funcionou na segunda parte (quando encontra números duplicados), mas não funcionou na primeira parte, quando a caixa de texto1 = ""


    Ai está o código

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    'PRIMEIRA PARTE
    'Codigo não aceita numero de matricula vazio
    If Me.TextBox1 = "" Then
    MsgBox "Matrícula é Obrigatório!", vbCritical, "Controle Dados"

    Exit Sub
    Cancel = True
    End If

    'SEGUNDA PARTE
    'Codigo para evitar duplicação de numero de matrícula
    Dim lastRow As Long
    Dim matr As Range
    'Ativar a planilha
    Worksheets("DADOS ALUNOS").Select

    ' Verifica qual a ultima linha preenchida
    lastRow = Cells(Rows.count, 1).End(xlUp).row
    ' Guarda a area a procurar
    Set matr = Range("A4:A" & lastRow)
    ' Caso não encontre nenhum nome igual
    If matr.Find(TextBox1.Text) Is Nothing Then
    Exit Sub

    Else
    MsgBox "Matrícula existente!", vbCritical, "Controle de Dados"

    'Esvaziar e colocar o foco na primeira caixa de texto
    TextBox1 = Empty
    Cancel = True
    End If

    End Sub
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    SetFocus não funciona Empty Re: SetFocus não funciona

    Mensagem  DamascenoJr. 28/3/2020, 02:22

    Isso é excel. Por ser excel e este fórum ser sobre access, moverei seu tópico para off topic.

    Sugiro um fórum específico de excel para encontrar a solução caso a solução abaixo não resolva
    Código:
    'PRIMEIRA PARTE
    'Codigo não aceita numero de matricula vazio
    If Me.TextBox1 = "" Then
    MsgBox "Matrícula é Obrigatório!", vbCritical, "Controle Dados"
    Cancel = True
    Exit Sub
    End If


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    Osecle
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 04/10/2016

    SetFocus não funciona Empty SetFocus não funciona

    Mensagem  Osecle 28/3/2020, 14:46

    OK. NÃO FUNCIONA NA MESMA. MAS OBRIGADO PELA AJUDA.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    SetFocus não funciona Empty Re: SetFocus não funciona

    Mensagem  DamascenoJr. 28/3/2020, 16:06

    Olá, boa tarde.

    Fique atento às regras do fórum e corrija sua mensagem

    REGRAS DO FÓRUM

    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.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado


    SetFocus não funciona Empty Re: SetFocus não funciona

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 19:37