MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

Obrigado

Administração do MaximoAccess

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

    SetFocus não funciona

    avatar
    Osecle
    Novato
    Novato

    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 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2609
    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 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 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2609
    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 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 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2609
    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.

      Data/hora atual: 6/3/2021, 16:37