Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como Criar uma mensagem de alerta para os usuarios


davidctba

Pergunta

Bom dia senhores tudo bem....

Estou com a seguinte dificuldade para fazer a manutenção do meu aplicativo em access que é o seguinte: tenho 8 usuario de setores diferentes utilizando a aplicação ao mesmo tempo, e sempre que um deles pede alguma coisa eu tenho que perder um tempo e ligar ramal por ramal pedindo para que os mesmos fechem o aplicativo para que eu possa mexer....

Pois bem a ideia é a seguite, não sei se tem como fazer mas vamos la...

Pensei em colocar um botão na minha aplicação (quando logado como ADM), que ao clicar enviasse pelo proprio sistema um alerta de manutenção pedindo para que o usuario saisse da aplicação ou em caso mais extremo informasse o usuario e fechasse o aplicativo e bloquei a entrada dos usuarios enquanto eu não liberar a aplicação...

isso é possivel? se é não tenho ideia de como começar a fazer :blink:

Obrigado;

David

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Fera dÊ uma olhada nessa dica http://www.ativoaccess.com.br/mostra.dica.php?dica=11, eu utilizei ela com uma pequena alteração o formulário que fica aberto era maximizado com uma mensagem pedindo para o usuário sair do sistema em até 5 minutos.

Link para o comentário
Compartilhar em outros sites

  • 0

Olha MrMALJ tudo bem?, então eu testei a dica sugerida, porem estou tentando fizer a seguinte alteracao, ao invés dele fechar o aplicativo já de cara, ele tera que abrir um form chamado FRM_Aviso onde o mesmo tera que ter um timer de 1 minuto para que o usuario feche o sistema ou ele fecha automaticamente.... porem não esta abrindo o frm_aviso e sim disparando uma menssagem de "erro em tempo de execucao" onde se eu clicar no "OK" ele sai da aplicacao....

codigo:

If Len(Dir("\\serverctba\departamentos\LTI\LTI - Controle Producao\alerta.txt")) > 0 Then

DoCmd.OpenForm FRM_aviso

End If

o que sera que estou fazendo de errado?

obrigado..

Link para o comentário
Compartilhar em outros sites

  • 0

se você já tem um form aberto o tempo todo somente verificar a existencia do arquivo, seria melhor você tornar o formulário visivel ou maximiza-lo com uma mensagem solicitando que o usuário saia do sistema e dizendo que em um minuto o sistema será fechado sozinho.

Link para o comentário
Compartilhar em outros sites

  • 0

MrMALJ é justamene isso que eu estou tentando fazer, eu criei um formulario chamado FRM_Aviso onde o mesmo tem o informativo em vermelho para que o usuario feche o sistema.... a ideia é, que quando eu criar o arquivo aleta.txt, ele abra esse FRM_Aviso e nesse FRM_Aviso tenha um contador regressivo de 30s para caso o usuario não esteja na frente da maquina ele feche o sistema sozinho.....

porem estou com 2 dificuldades:

primeira: coloquei o comando no meu FRM_Menu (pois o mesmo fica em execucao o tempo todo) e ele não esta abrindo o FRM_Aviso..

segundo: no FRM_Aviso não estou conseguindo fazer o contador regressico acho que estou errando alguma coisa no codigo...

codigo do meu contador que esta no FRM_Aviso:

Dim Tempo As Integer

Private Sub Form_Timer()

Tempo = Nz(Tempo, 30) - 1

Label.Caption = "Desligando em " & Tempo & " segundos."

If Tempo = 0 Then

DoCmd.Quit

end if

End Sub

Editado por davidctba
Link para o comentário
Compartilhar em outros sites

  • 0

tente algo assim:

public Tempo As Integer
Tempo = 1500

Private Sub Form_Timer()
    while tempo>0
        Label.Caption = "Será desligando  quando zerar: " & Tempo
        tempo=tempo-1
    wend
    If Tempo = 0 Then
        DoCmd.Quit
    end if
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

infelizmente não deu certo o codigo... ele não traz nada no label enquanto esta executando ai quando chega em 0, ele mostra 1 no label e fecha... levando em conta o tempo, ele da um segundo...

no codigo q eu fiz, na teoria ele teria que contar regressivamente, mas ele ao invez de trazer 30, 29, 28,....0 ele traz -1, -2, -3,....-30 tem como tratar isso para que ele contre regressivo?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom a ideia é você achar um numero que no loop vá demorar os 30segundos que deseja depois você divide o valor por 30, daí a cada diferença você incrementa pra amostrar mais um segundo...

Outra ideia seria você guarda a hora inicial incrementar os 30 segundo numa outra variavel e então fazer o loop para ficar verificando os segundos, algo assim:

Private Sub Form_Timer()
    dim tIni, tFim, x,y as variant
    
    tIni=time()
    tFim=tIni+0:0:30
    x=tIni+0:0:01
    y=1
    while time()<=tFim
        if x=time() then
            y=y+1
            x=time()+0:0:01
        end if
        Label.Caption = "O sistema entrará em manutenção em " & (30-y) & " segundos!"
        tempo=tempo-1
    wend
    If Tempo = 0 Then
        DoCmd.Quit
    end if
End Sub

Deve funcionar pensei nisso agora, bom teste.

Link para o comentário
Compartilhar em outros sites

  • 0

MrMalj, deu certo aqui... eu fiz uma modificação no meu código e deu certo... abaixo vou posta-lo para que sirva de consultas futuras....

Código:

Dim Tempo, x, y As Integer

Private Sub Form_Timer()

x = 30

Tempo = Nz(Tempo) + 1

y = x - Tempo

Label.Caption = y

If y = 0 Then

DoCmd.Quit

End If

End Sub

Lembrando que na propriedade "intervalo do cronometro" do formulário tem que dar o valor de 1000 para que ele calcule como segundos...

Obrigado pela ajuda e atenção...

David

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...