Em ajuda a um colega do fórum.
Este exemplo utiliza o Keycode para ir de rótulo em rótulo utilizando a mudanca do nome do mesmo
Os rótulos são nomeados com parte do nome em comum seguido de um numero, ao clicar na seta a parte número é incrementada em +1 ou -1, podendo então modificar algumas propriedades do mesmo, como se simulasse um evento ao receber foco, coisa que não é inerente ao mesmo.
Na parte de abertura de forms, ao apertar o enter, checa o texto contido no rótulo, na igualdade aobre o form especificado na instrução.
https://dl.dropbox.com/u/26441349/NavegandoRotulos.rar
Tópico que originou a solução: http://maximoaccess.forumeiros.com/t8180-movimentacao-de-setas
Cumprimentos.
Este exemplo utiliza o Keycode para ir de rótulo em rótulo utilizando a mudanca do nome do mesmo
Os rótulos são nomeados com parte do nome em comum seguido de um numero, ao clicar na seta a parte número é incrementada em +1 ou -1, podendo então modificar algumas propriedades do mesmo, como se simulasse um evento ao receber foco, coisa que não é inerente ao mesmo.
Na parte de abertura de forms, ao apertar o enter, checa o texto contido no rótulo, na igualdade aobre o form especificado na instrução.
https://dl.dropbox.com/u/26441349/NavegandoRotulos.rar
Tópico que originou a solução: http://maximoaccess.forumeiros.com/t8180-movimentacao-de-setas
- Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo TrataErro
If KeyCode = 40 Then
If IsNull(StrObj) = True Then
StrObj = Val(0)
Else
Me("lb" & StrObj).ForeColor = vbBlack
StrObj = StrObj + Val(1)
Me("lb" & StrObj).ForeColor = vbRed
KeyCode = 0
End If
End If
If KeyCode = 38 Then
If IsNull(StrObj) = True Then
StrObj = Val(0)
Else
Me("lb" & StrObj).ForeColor = vbBlack
StrObj = StrObj - Val(1)
Me("lb" & StrObj).ForeColor = vbRed
KeyCode = 0
End If
End If
If KeyCode = 13 Then
If Me("lb" & StrObj).Caption = "Rotulo 1" Then
MsgBox "Abra Form 1"
ElseIf Me("lb" & StrObj).Caption = "Rotulo 2" Then
MsgBox "Abra Form 2"
ElseIf Me("lb" & StrObj).Caption = "Rotulo 3" Then
MsgBox "Abra Form 3"
ElseIf Me("lb" & StrObj).Caption = "Rotulo 4" Then
MsgBox "Abra Form 4"
ElseIf Me("lb" & StrObj).Caption = "Rotulo 5" Then
MsgBox "Abra Form 5"
End If
KeyCode = 0
End If
Exit Sub
Exit_TrataErro:
DoCmd.Hourglass False
DoCmd.Echo True
Exit Sub
TrataErro:
If Err.Number = 2465 Then
Resume Next
Else
DoCmd.Hourglass False
DoCmd.Echo True
Msg = "Erro # " & Str(Err.Number) & " gerado na " & Err.Source _
& vbNewLine & vbNewLine & "Descrição: " & Err.Description _
& vbNewLine & vbNewLine & "Por favor contate o Administrador de Sistema."
MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro", Err.HelpFile, Err.HelpContext
Resume Exit_TrataErro
End If
End Sub
Cumprimentos.