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

    [Resolvido]Navegar com setas do teclado

    avatar
    _Teddy_
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 23/03/2015

    [Resolvido]Navegar com setas do teclado Empty [Resolvido]Navegar com setas do teclado

    Mensagem  _Teddy_ 27/1/2016, 22:16

    Ola pessoal,

    Alguém poderia me ajudar com um exemplo de como navegar com as setas do teclado em
    um formulário continuo ?


    Última edição por _Teddy_ em 28/1/2016, 11:29, editado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Navegar com setas do teclado Empty Re: [Resolvido]Navegar com setas do teclado

    Mensagem  JPaulo 28/1/2016, 09:43

    Ola

    É simples;

    O seu formulario tem de ter Visualizar Teclas = Sim

    No procedimento VBA KeyDown do formulario;

    Código:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error GoTo 1
        If KeyCode = 39 Then Me.Recordset.MoveNext
        If KeyCode = 37 Then Me.Recordset.MovePrevious
    1:
    If Err.Number = 3021 Then
        MsgBox "Não existem mais registros para nevegar...", vbCritical
        Exit Sub
        End If
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Navegar com setas do teclado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Navegar com setas do teclado Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Navegar com setas do teclado Folder_announce_new Instruções SQL como utilizar...
    avatar
    _Teddy_
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 23/03/2015

    [Resolvido]Navegar com setas do teclado Empty Re: [Resolvido]Navegar com setas do teclado

    Mensagem  _Teddy_ 28/1/2016, 10:14

    JPaulo bom dia obrigado pela atenção, mais ele só navega de lado nos registros do formulário continuo
    se eu quiser ir para o registro da linha de baixo tenho que percorrer todos registros para depois ir para o registro da linha
    de baixo, teria como fazer as setas irem para o registro de baixo sem precisar percorrer todos ?

    Veja como é meu formulário

    [Resolvido]Navegar com setas do teclado Xndqpd
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Navegar com setas do teclado Empty Re: [Resolvido]Navegar com setas do teclado

    Mensagem  JPaulo 28/1/2016, 10:26

    Basta acrescentar esta linha a seguir ás outras que eu fiz;

    If KeyCode = 40 Then DoCmd.GoToRecord



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Navegar com setas do teclado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Navegar com setas do teclado Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Navegar com setas do teclado Folder_announce_new Instruções SQL como utilizar...
    avatar
    _Teddy_
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 23/03/2015

    [Resolvido]Navegar com setas do teclado Empty Re: [Resolvido]Navegar com setas do teclado

    Mensagem  _Teddy_ 28/1/2016, 11:02

    JPaulo muito obrigado pela atenção dispensada, consegui resolver dessa forma


    If KeyCode = 37 Then Me.Recordset.MoveUp
    If KeyCode = 39 Then Me.Recordset.MoveDown
    If KeyCode = 38 Then Me.Recordset.MovePrevious
    If KeyCode = 40 Then Me.Recordset.MoveNext

    estranho mais dessa forma funcionou, mais uma vez obrigado JPaulo
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Navegar com setas do teclado Empty Re: [Resolvido]Navegar com setas do teclado

    Mensagem  JPaulo 28/1/2016, 14:36

    Me.Recordset.MoveUp e Me.Recordset.MoveDown, não existe no VBA, logo se funciona é porque você tem a instrução On Error Resume Next no inicio para inibir os erros.

    Existem duas formas de o fazer, mais funcional;


    Código:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    'JPaulo ® maximoaccess 2016
    On Error Resume Next
        Select Case KeyCode
            Case vbKeyDown
            DoCmd.GoToRecord Record:=acNext
            KeyCode = 0
            Case vbKeyUp
            DoCmd.GoToRecord Record:=acPrevious
            KeyCode = 0
        Case Else
        
        End Select
    End Sub


    Código:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim UltimoRegistro As Long
      
       UltimoRegistro = Me.Recordset.RecordCount
      
       If Shift = 0 Then
          If KeyCode = vbKeyUp Then
             If Me.CurrentRecord > 1 Then Me.Recordset.MovePrevious
             KeyCode = 0
          ElseIf KeyCode = vbKeyDown Then
             If Me.CurrentRecord < UltimoRegistro Then Me.Recordset.MoveNext
             KeyCode = 0
          End If
       End If
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Navegar com setas do teclado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Navegar com setas do teclado Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Navegar com setas do teclado Folder_announce_new Instruções SQL como utilizar...

    JaimeSoares gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Navegar com setas do teclado Empty Re: [Resolvido]Navegar com setas do teclado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 00:51