alexguaruja 26/12/2010, 16:55
Olá criquio, e obrigado pela atenção!
Voltando ao problema, evento "NO TIMER" do meu form eu uso o seguinte código para rolar mensagens vindas de um banco de dados q possuo::
Private Sub Form_Timer()
Call Form_Load
Me.Caption = " Formulário
'A cada décimo de segundo esse procedimento é executado
'Twip é a medida utilizada pelo Access como default
'1cm = 567 twips
'Se a etiqueta estiver a menos de 50 twips da esquerda
'da janela:
If Me!lblFrase.Left <= 50 Then
'e se a legenda da etiqueta for >1
If Len(Me!lblFrase.Caption) > 1 Then
'Faz a legenda da etiqueta = a legenda da
'etiqueta - o primeiro caractere a esquerda
Me!lblFrase.Caption = Right(Me!lblFrase.Caption, Len(Me!lblFrase.Caption) - 1)
'Se a legenda já houver "acabado"
Else
'escolhe outra frase
escolhe
'Deixo a etiqueta com o tamanho Zero e ...
Me!lblFrase.Width = 0
'... faço a esquerda da etiqueta = ao ta-
'manho da janela...
Me!lblFrase.Left = Me.WindowWidth
'e retorno a frase para a legenda da etiqueta
Me!lblFrase.Caption = wFrase
End If
'Se estiver com mais de 50 twips
Else
'Faz com que a esquerda da etiqueta diminua 50 twips e ...
Me!lblFrase.Left = Me!lblFrase.Left - 50
'... o tamanho aumenta 50 twips
Me!lblFrase.Width = Me!lblFrase.Width + 50
End If
End Sub
No intervelo do cronômetro eu uso 40 para que a frase fique andando de 40 em 40 na tela.
Bom, sendo assim, não dá para usar o "NO TIMER", eu gostaria de inserir um código onde permita que meu formulário automaticamente "pule" de uma caixa de texto para outra,pois no form, eu utilizo uma combobox onde digitro o cod do funcionario e ele me retorna a foto do mesmo...gostaria q depois de 20 segundos aparecesse a imagem padrão, até q eu entre com o codigo de outro funcionario e fizesse o processo novamente, veja como eu usei no evento:
Private Sub Comb_id_func_AfterUpdate()
' Encontrar o registro que coincide com o controle.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[id] = " & Str(Nz(Me![Comb_id_func], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO ponto(id_func,data,h_entrada) select " & Comb_id_func.Column(1) & ",date(),time()"
DoCmd.SetWarnings True
Me.Comb_id_func = ""
If Not IsNull(Me.foto) Then
Me.imgMostra.Picture = Me!foto
End If
Me.cod_func.SetFocus
End Sub
Consegui fazendo assim:
Private Sub Comb_id_func_LostFocus()
Me.imgMostra.Picture = "D:\Pasta\Fotos\1.jpg"
End Sub
Mas até mostra a imagem do funcionario no campo "imgMostra" do funcionario mas logo em seguida já mostra a imagem "1.jpg", usando o "LostFocus()" mas gostaria q levasse uns 20 seg. para isso ocorrer e não imediatamente e nem saindo da combo.