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

Sistema de Alarme - PopUp


fernando soares

Pergunta

Pessoal,

Gostaria de saber se alguém sabe como posso fazer um sistema de alarme?

Exemplo:

Tenho um formulário onde registo minhas atividades do dia a dia e nesse formulário tenho um campo onde coloco a data de início dessa atividade e tambem tenho um campo "Yes/No" onde eu gostaria de quanto eu ticasse esse campo ele me abrisse um PopUp no dia da atividade com 5 minutos de antecedencia para me lembrar dessa atividade.

É possível?

Abraços,

Fernando

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

dá. você tem que criar um codigo no evento NO TIMER de algum form que fique sempre aberto.

você pode setar o intervalo de tempo de checagem no campo que vem logo abaixo do NO TIMER que se chama INTERVALO DO CRONOMETRO

eu aconselho você a setar de minuto em minuto usando o valor 60000 para não deixar seu sistema lento.

sua tabela deve ter pelo menos um campo DATA(00/00/0000), um campo HORA (00:00), um campo ATIVAR_ALARME(sim/não) e um campo AVISADO(sim/não)

então crie uma consulta para lhe retornar apenas os registros que estiverem setados como marcados para alarme. ex:

campo [data] com criterio = data()

campo [hora] com criterio = Entre Tempo()+#00:07:00# E Tempo()+#00:03:00# assim você tem uma margem de erro

campo [ATIVAR_ALARME] use criterio = Sim

campo [AVISADO] use criterio = Não

agora você escolhe se vai chamar os alarmes por msgbox com dlookups ou se vai criar um form pra exibir os alarmes.

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
dá. você tem que criar um codigo no evento NO TIMER de algum form que fique sempre aberto.

você pode setar o intervalo de tempo de checagem no campo que vem logo abaixo do NO TIMER que se chama INTERVALO DO CRONOMETRO

eu aconselho você a setar de minuto em minuto usando o valor 60000 para não deixar seu sistema lento.

sua tabela deve ter pelo menos um campo DATA(00/00/0000), um campo HORA (00:00), um campo ATIVAR_ALARME(sim/não) e um campo AVISADO(sim/não)

então crie uma consulta para lhe retornar apenas os registros que estiverem setados como marcados para alarme. ex:

campo [data] com criterio = data()

campo [hora] com criterio = Entre Tempo()+#00:07:00# E Tempo()+#00:03:00# assim você tem uma margem de erro

campo [ATIVAR_ALARME] use criterio = Sim

campo [AVISADO] use criterio = Não

agora você escolhe se vai chamar os alarmes por msgbox com dlookups ou se vai criar um form pra exibir os alarmes.

abraços

valeu pela ajuda...mais não estou conseguindo.

1 - qual o código que eu devo colocar dentro do evento Timer?

2 - Veja na figura como ficou minha query ( essa função "Entre Tempo" você sabe como é ela em ingles?)

http://img205.imageshack.us/img205/4074/79290099.jpg

3 - depois eu crio um Form e chamo essa query dentro desse form?

Valeu

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

  • 0

beleza..já criei a querie comm esses critérios....e agora que código que coloco dentro do evento Timer?

eu quero que quando tiver alguma atividade a vencer ou vencida que abra um form e me mostre o ID dessa atividade...

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

  • 0

então cara.. a consulta so vai mostrar os eventos q tem mesmo.

agora no codigo você coloca algo assim:

'se houver algum registro na consulta, vai abrir o form de minuto em minuto
    If Not IsNull(DLookup("[data]", "consulta_alarme")) Then
        DoCmd.OpenForm "form_ALARMES", acFormDS         
    End If

Link para o comentário
Compartilhar em outros sites

  • 0
então cara.. a consulta so vai mostrar os eventos q tem mesmo.

agora no codigo você coloca algo assim:

'se houver algum registro na consulta, vai abrir o form de minuto em minuto
    If Not IsNull(DLookup("[data]", "consulta_alarme")) Then
        DoCmd.OpenForm "form_ALARMES", acFormDS         
    End If

beleza consegui fazer....só que só consegui trazer o resultado na querie se eu tirar essa condição da hora que você colocou de "between Time()+#00:07:00# AND Time()+#00:03:00#"

não entendi direito essa condição...mais se eu coloco ela não aparece nenhum registro na querie...porque será?

Link para o comentário
Compartilhar em outros sites

  • 0

esse criterio diz o seguinte:

a consulta busca a hora cadastrada

então o criterio diz:

se a hora estiver entre (hora atual + 3min) e (hora atual + 7min)

ou seja. se a hora cadastrada par alarme for 9:00.. o alarme ocorrerá entre 8:43 até 8:47 que é a margem dos 5 minutos de antecedencia.

senao pode ocorrer do minuto atual não bater exatamente com o minuto cadastrado.

mas ao invés disse use:

< Time()+#00:06:00#

assim ele so considera o que vem 6 minutos antes da hora do alarme. por isso tem q ter um outro codigo pra desativar o alarme que é apresentado, senao a cada minuto, todos os alarmes que já venceram vao sempre aparecer

porem, pensando melhor você pode ter 2 campos de hora. um para dizer a hora do compromisso e outro pra dizer a hora do alarme. nesse caso use:

< time()

Editado por Humm
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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...