USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Chamar form_keydown
ADRIANO2605
CAMPO GRANDE
MS - BRASIL
Postada em 23/09/2009 18:51 hs            
Olá pessoal, seguinte eu tenho o seguinte código

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo TRATAERRO
Select Case KeyCode
Case Is = 113 'vbKeyF2 'abrir ficha
    If Left(LblTit(7).Caption, 9) = "F2 - NOVO" Then
    cnn.Execute "Update pedido as p set p.cliente = '" & Ctxt(4).Text & "', p.vendedor = '" & _
    Ctxt(5).Text & "', p.tipo = '" & "F" & "', p.condiçoes = '" & "1" & "', p.data = '" & _
    Format(Now, "dd/mm/yyyy") & "', p.totalpedido = '" & Lblitens(3).Caption & "' where p.codigo like '" & _
    Ctxt(1).Text & "'"
        DtaPedido.Refresh
        NovoPedido
    Else
        If Lblitens(3).Caption > "0,00" And DtaPedido.Recordset.Fields("tipo") = "P" Then
            MsgBox "Finalize este pedido antes, ou exclu-a os itens deste pedido!", vbInformation
            Exit Sub
            ElseIf Lblitens(3).Caption > "0,00" And DtaPedido.Recordset.Fields("tipo") = "F" Then
                NovoPedido
                AnulaLost = True
                FrmPdvFich.Ctxt(0).Text = Ctxt(1).Text
                FrmPdvFich.Ctxt(10).Text = IdUser
                FrmPdvFich.Show vbModal
                ElseIf Lblitens(3).Caption = "0,00" And DtaPedido.Recordset.Fields("tipo") = "P" Then
                    AnulaLost = True
                    FrmPdvFich.Ctxt(0).Text = Ctxt(1).Text
                    FrmPdvFich.Show vbModal
        End If
    End If
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Case Is = vbKeyF3 'buscar ficha
    If Lblitens(3).Caption = "0,00" And DtaPedido.Recordset.Fields("tipo") = "P" Then
        Set deletar = Workspaces(0).OpenDatabase(banco)
        deletar.Execute ("Delete * from Pedido where codigo like '" & Ctxt(1).Text & "'")
        AnulaLost = True
        FrmPdvFicBusca.QPediu = 1
        FrmPdvFicBusca.Show vbModal
            ElseIf Lblitens(3).Caption > "0,00" And DtaPedido.Recordset.Fields("tipo") = "P" Then
            MsgBox "Finalize este pedido antes, ou exclu-a os itens deste pedido!", vbInformation
            Exit Sub
            ElseIf Lblitens(3).Caption > "0,00" And DtaPedido.Recordset.Fields("tipo") = "F" Then
            cnn.Execute "Update pedido as p set p.cliente = '" & Ctxt(4).Text & "', p.vendedor = '" & _
            Ctxt(5).Text & "', p.tipo = '" & "F" & "', p.condiçoes = '" & "1" & "', p.data = '" & _
            Format(Now, "dd/mm/yyyy") & "', p.totalpedido = '" & Lblitens(3).Caption & "' where p.codigo like '" & _
            Ctxt(1).Text & "'"
                AnulaLost = True
                FrmPdvFicBusca.QPediu = 1
                FrmPdvFicBusca.Show vbModal
    End If

'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Case Is = vbKeyF4 'excluir
If nivel = "Administrador" Then
    If MsgBox("Confirma a exclusão deste pedido e seus registros?", vbQuestion + vbYesNo) = vbYes Then
        Set deletar = Workspaces(0).OpenDatabase(banco)
        deletar.Execute ("Delete * from detalhepedido where pedido like'" & Ctxt(1).Text & "'")
        deletar.Execute ("Delete * from Pedido where codigo like '" & Ctxt(1).Text & "'")
        Lblitens(3).Caption = "0,00"
        NovoPedido
    End If
Else
    If MsgBox("O usuário não tem acesso para exclusão do pedido! " & Chr(13) & "Deseja solicitar autorização?", _
    vbQuestion + vbYesNo) = vbYes Then
        frmautorizacao.QPediu = 2
        frmautorizacao.Show vbModal
    Else
        MsgBox "O pedido não será excluído!", vbInformation
        Exit Sub
    End If
End If
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Case Is = 5 'entrega
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Case Is = vbKeyF6 'finalizar
    AnulaLost = True
    With FrmFech
    For i = 0 To 6
    .Ctxt(i).Text = "0,00"
    Next i
    .QPediu = "2"
    .Ctxt(0).Text = Format(Lblitens(3).Caption, "#,##0.00;(#,##0.00)")
    .CCar(0).Text = Ctxt(1).Text
    .Ctxt(4).Text = Format(Lblitens(3).Caption, "#,##0.00;(#,##0.00)")
    .Ctxt(8).Text = Format(Lblitens(3).Caption, "#,##0.00;(#,##0.00)")
    .Lbl(10).Caption = Ctxt(4).Text
    .Show
    .Ctxt(1).SetFocus
    End With
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
End Select
TRATAERRO:
Select Case Err.Number
Case Is = 0
Case Else
    MsgBox "Ocorreu um erro inexperado, sai da tela de venda e entre novamente!" & Chr(13) & _
    "Informe o código " & Err.Number & " - " & Err.Description & " ao administrador do sistema!", vbInformation
    Exit Sub
End Select
End Sub

 

o qual faz um monte de funções, e agora por questões de estética coloquei no meu programa labeis transparentes q ficam parecendo com botoes qdo passa o mouse por cima dela, e se o cabloco clicar eu quero q chame este mesmo codigo q esta escrito no form_keydown, alguem sabe me dizer como chamo o evento?

 

Valeu.

 

 
     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 24/09/2009 19:48 hs            
Amigo, o melhor é vc verificar a tecla digitada e chamar uma função, e não efetuar a rotina no evento:
 
Private Sub Form_KeyDown(TK as Integer, Shift As Integer)
         If TK = 113 Then
                   AbrirFicha
                   Exit Sub
         End If
         If TK =   qualquer tecla Then
                '   faça
         End if
End Sub
 
Daí por diante, e vc pode também chamar qualquer evento ou Sub, com isto.
 
Private Function AbrirFicha()
 
       '   coloque tudo aqui
 
End Function
 
 
vlu//
   
ADRIANO2605
CAMPO GRANDE
MS - BRASIL
ENUNCIADA !
Postada em 25/09/2009 09:35 hs            
Tava pensando em fazer desta forma mesmo, mas olhei consegui esta dica em outro forum!
Form_KeyDown vbKeyF4, 0

Mesmo assim obrigado.

valeu
TÓPICO EDITADO
 
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página