MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Identificar teclas dependendo da situação

    Compartilhe

    biligo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 10/04/2014

    Identificar teclas dependendo da situação

    Mensagem  biligo em Qua 14 Set 2016, 08:12

    Boas galera,

    Tenho os seguintes eventos,

    Código:
    'Ao perder o foco
    Private Sub txtQuant_LostFocus()

        DoCmd.RunCommand acCmdSaveRecord
        DoCmd.GoToRecord , , acNewRec
        Me.txtIdentCardapio.SetFocus
    'Salvar, "ir para" Novo registro e selecionar item para o foco.

    End Sub

    Código:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    Select Case KeyCode

    Case vbKeyEscape
        DoCmd.RunCommand acCmdSaveRecord
        Me.btnComentar.SetFocus
    Case vbKeyDel
        Call btnExcluir_Click
    Case vbKeyInsert
        Call btnComentar_Click

    End Select

    A questão é que quando tenho o campo txtQuant.Setfocus e pressiono a tecla "Esc" me gera um erro pois é carregado primeiro o comando de ir para criar novo registro e depois
    selecionar o botão comentar que não existiria pois o registro no foi criado.
    Sei que devo usar um If mas como identifico se um campo tem o foco? pesquisei bastante mas não consegui achar um jeito.

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Identificar teclas dependendo da situação

    Mensagem  Alexandre Neves em Qua 14 Set 2016, 20:22

    Boa noite,
    Para identificar o controlo do foco, utilize ActiveControl
    if activecontrol="NomeDoControlo" 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

      Data/hora atual: Sab 03 Dez 2016, 04:37