CHAMAR FUNCAO DE QUALQUER LUGAR DO SISTEMA

FUTURA 04/06/2007 16:17:13
#219686
é o seguinte, meu sistema é multi-empresa, então em algumas telas o usuário precisa trocar o código da empresa operante, pensei em por uma função no módulo, e destas telas se teclar F12 por ex:, chamar a função na qual ele informa qual empresa vai operar. minha dúvida é como chamar a função através da tecla 'F12", de qualquer formulário do sistema.
THIAGO.CC 04/06/2007 16:29:31
#219689
Boa Tarde Futura,

Vc pode utilizar o proprio form, vai uma dica de como vc pode utilizar, o exemplo abaixo eu estou utilizando um objeto texto com a tecla F4.Acho que já da uma boa ideia de como vc pode fazer.

Private Sub Field_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF4 Then
If Field(Index).Mask <> "" Then
Field(Index).Mask = "#########"
End If
Field(Index).Text = 999999999
End If
End Sub


Espero ter ajudado.


USUARIO.EXCLUIDOS 04/06/2007 16:32:29
#219691
coloque ela em um modulo
FUTURA 04/06/2007 16:43:26
#219693
tenho varias funções que deixo em um módulo, mas não estou vendo como ao teclar F12 de qualquer lugar do sistema, chamar a função que vai trocar a empresa em operação.
THIAGO.CC 04/06/2007 16:50:28
#219696
Futura vc pode acessar de qualquer objeto, como um form, um texto, isso depende de como vc quer utilizar.

Um exemplo no form:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
Chama_Função
End If
End Sub


Espero ter ajudado.

Thiago.
USUARIO.EXCLUIDOS 04/06/2007 16:55:19
#219699
cara, se ela ta em um modulo basta voce ver se a tecla F12 foi pressionada, se sim chame a função

[c]Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
MsgBox "aqui voce deve colocar a chamada da função"
End If
End Sub

[/c]

teh mais
qualquer coisa posta!
FUTURA 04/06/2007 17:09:25
#219702
ACHO QUE NÃO ESTOU ME EXPRESANDO BEM, eu ja uso varias funções que chamo a partir do kwydow ou keypress, o q quero saber é c tem como chamar a função, sem ter que colocar no keydow de todos os forms que vão chama-la, ou seja declarar num módulo que a tecla f12 chama a função, e pronto.
USUARIO.EXCLUIDOS 04/06/2007 23:11:57
#219740
O seguinte, existe uma propriedade chamada KeyPreview (Boolean) para Forms que captura o pressionamento de uma tecla antes de que seja disparado evento em qualquer controle onde esteja o foco.
Caso vc modifique esta propriedade para True, vc poderá interagir com os Eventos KeyDown e KeyUp do Form antes de disparar o evento no controle.
Até onde eu conheço, vc precisará mudar isto em todos os forms para ter o efeito desejado.
USUARIO.EXCLUIDOS 05/06/2007 07:40:27
#219753
futura, eu faço o seguinte, coloco um botao no mdi principal, se o kra quiser mudar de empresa tem que ir la e trocar a empresa, e guardo a empresa em uma variavel global, onde uso ela em todos os forms.
FUTURA 05/06/2007 08:11:14
#219757
EXATO ALEXANDRE é ISTO MESMO QUE EU JA FAÇO, MAS IMAGINE QUE O USUÁRIO NA NA TELA DE PREVISÃO DE CONTAS A RECEBER, CONSULTOU DE UMA EMPRESA, E VAI CONSULTAR DA OUTRA, MEUS FORMS SÃO SEMPRE "ALWAYS ON TOP", ELE PRECISARIA FECHAR O FORM, CLICAR NO BOTÃO PARA TROCAR A EMPRESA, E APÓS VOLTAR AO FORM DE CONSULTA. MAS EU JA FIZ O SEGUINTE, CRIEI UM FORM QUE ME TRAZ EM UM LIST AS EMPRESAS CADASTRADAS, E NOS FOMULÁRIOS QUE TEM A OPÇÃO DE TROCA, NO KEYDOWN, ASSOCIEI A CHAMADA DESTE FORM A TECLA F12, E JA RESOLVEU MEU PROBLEMA. OBRIGADO A TODOS QUE PARTICIPARAM DO TÓPICO DANDO SUAS OPINỈۢES.
Tópico encerrado , respostas não são mais permitidas