Ir para conteúdo

A partir do dia 19/11/2018, o foco do Fórum do BABOO é apenas Windows e Segurança Digital conforme informado no início de 2018.
As áreas que não têm relação com esses dois assuntos foram arquivadas e seus tópicos estão disponíveis para consulta na área Tópicos Antigos.

Fernando Veit

programa de Access tipo lembrete de aniversário

Mensagem Recomendada

Prezado lori

Desta forma funciona, mas pode ser melhor elaborado:

------------------------------------------------------------------------------

Function aniversario()

''Dimensiona as variáveis

Dim DB As DAO.Database

Dim rs As DAO.Recordset

Dim strCritério As String

Dim strSaturday As String

Dim strSunday As String

Dim strMsg As String

Dim strTitle As String

Dim MyDate, MyWeekDay

''Data atual

MyDate = Date

''MyWeekDay contém o algarismo correspondente ao

''dia da semana obtido com a função Weekday

MyWeekDay = Weekday(MyDate)

''Título da mensagem

strTitle = "Dia Comemorativo!"

Set DB = CurrentDb()

Set rs = DB.OpenRecordset("ConsFuncAniv", dbOpenDynaset)

''Critério para aniversariante do dia

strCritério = "Format([DATA],""dd/mm"") = Format(Date(),""dd/mm"")"

''Encontra o primeiro aniversariante do dia

rs.FindFirst strCritério

  ''Se não encontrar

  If rs.NoMatch Then

  ''Sai

  Exit Function

 

  ''Do contrário

  Else

  Do While Not rs.NoMatch

 

  ''Corpo da mensagem

 

strMsg = rs!funcionario & " - " & rs!cargo & vbCrLf _

 

& "Agência: " & rs!juncaoagencia & "-" & rs!nomeagencia

 

  ''Mensagem para aniversariante do dia

  MsgBox "ATENÇÃO" & vbCrLf _

 

& "Hoje é o Aniversário de" & " " & strMsg & "" &

vbCrLf _

 

& "Parabéns pelo seu dia!" & vbCrLf _

  & vbCrLf _

 

& "", vbInformation + vbOKOnly, strTitle

  ''Localiza, se houver, demais aniversariantes do dia

  rs.FindNext strCritério

 

  Loop

 

  End If

 

  ''Se hoje é sexta-feira

  If MyWeekDay = 6 Then

 

  ''Critério para aniversariante no sábado

  strSaturday = "Format([DATA],""dd/mm"") = Format(Date()+1,""dd/mm"")"

 

  ''Critério para aniversariante no domingo

  strSunday = "Format([DATA],""dd/mm"") = Format(Date()+2,""dd/mm"")"

 

  ''Encontra o primeiro aniversariante no sábado

  rs.FindFirst strSaturday

  ''Se não encontrar

  If rs.NoMatch Then

  ''Sai

  Exit Function

 

  ''Do contrário

  Else

  Do While Not rs.NoMatch

 

 

''Corpo da mensagem

 

strMsg = rs!funcionario & " - " & rs!cargo & vbCrLf _

 

& "Agência: " & rs!juncaoagencia & "-" & rs!nomeagencia

 

 

''Mensagem para aniversariante no sábado

 

MsgBox "ATENÇÃO" & vbCrLf _

 

& "Amanhã, sábado, é o Aniversário de" & " " & strMsg &

"" & vbCrLf _

 

& "Parabéns pelo seu dia!" & vbCrLf _

 

& vbCrLf _

 

& "", vbExclamation + vbOKOnly, strTitle

 

''Localiza, se houver, demais aniversariantes no sábado

 

rs.FindNext strSaturday

 

  Loop

 

  End If

 

  ''Encontra o primeiro aniversariante no domingo

  rs.FindFirst strSunday

  ''Se não encontrar

  If rs.NoMatch Then

  ''Sai

  Exit Function

 

  ''Do contrário

  Else

  Do While Not rs.NoMatch

 

 

''Corpo da mensagem

 

strMsg = rs!funcionario & " - " & rs!cargo & vbCrLf _

 

& "Agência: " & rs!juncaoagencia & "-" & rs!nomeagencia

 

 

''Mensagem para aniversariante no domingo

 

MsgBox "ATENÇÃO" & vbCrLf _

 

& "E domingo temos o Aniversário de" & " " & strMsg &

"" & vbCrLf _

 

& "Parabéns pelo seu dia!" & vbCrLf _

 

& vbCrLf _

 

& "", vbExclamation + vbOKOnly, strTitle

 

''Localiza, se houver, demais aniversariantes no domingo

 

rs.FindNext strSunday

 

  Loop

 

  End If

 

  End If

rs.Close

Set rs = Nothing

DB.Close

Set DB = Nothing

End Function

------------------------------------------------------------------------------

Abraços,


J. Siebiger

Compartilhar este post


Link para o post
Compartilhar em outros sites

Siebiger

Vi que você também participa do fórum ativo access, agradeco sua ajuda na resolucao deste meu problema, tem mais uma abaixo, se puder ajudar agradeco

Sem querer complicar, mas já complicando, tem como no codigo, a exemplo do que editei o codigo abaixo:

''Corpo da mensagem

strMsg = rs!funcionario & " - " & rs!cargo & " " & rs!letra_cargo & vbCrLf _

& "Telefone Celular: " & rs!DDD & " - " & rs!fonecelular & vbCrLf _

& "Email: " & rs!Email_Funcionario & vbCrLf _

& vbCrLf _

& "Agência: " & rs!juncaoagencia & " - " & rs!nomeagencia & vbCrLf _

''Mensagem para aniversariante do dia.

MsgBox "ATENÇÃO" & vbCrLf _

& vbCrLf _

& "Hoje é o Aniversário de" & " " & strMsg & "" & vbCrLf _

& vbCrLf _

& "Parabéns pelo seu dia!" & vbCrLf _

& vbCrLf _

& "", vbExclamation + vbOKOnly, strTitle

no

item email_funcionario, tem como aparecer um link que ao clicar no email que

aparece na caixa de mensagem ele ir ao outlook e mandar uma felicitacao

automatica com uma mensagem padrao ou anexo de um relatorio, ou coisa

assim...

desculpe pela minha insistencia, mas to precisando mesmo.

este

programa de lembretes sera utilizado também para agendamento de seguros

de veiculos, agendamento de data de vencimento de carteira de motorista

e tudo mais, o que vier pela frente, depois disponibilizo para

downloads a quem precisar.

obrigado

lourival

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado lori

Que bom que funcionou, mas veja que fiz apenas algumas ''adaptações'' no teu código original, o qual poderá ser melhorado.

Quanto ao envio de e-mail, até possuo alguns módulos (exemplos), mas nunca os testei. Logo, ficaria anti-pedagógico postá-los só por postar.

Acredito que isto já tenha sido assunto aqui deste fórum, ou daqueles outros que tu participas.

Se não encontrares, sugiro que postes como um novo tópico, pois, apesar

da interdependência, trata-se de um tema específico. Isto também

atrairá mais colaboradores e demais interessados.

Abraços,


J. Siebiger

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 22/02/2005 at 7:02 AM, marcelosicuro disse:

Eu tenho um de corretagem imobiliária e gestão de loteamentos que faz isso... todos os dias ao abrir o sistema ele avisa quem está fazendo aniversário.

Ah... se quiser, o programa também pode enviar automaticamente e-mails de felicitações.

BOA TARDE AMIGO 

 gostaria de receber esse programa em access, você pode mandar no meu e-mail gilsonedleno@gmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 23/02/2005 at 4:45 AM, siebiger disse:

Prezado bobylite

Cries uma consulta com a tabela onde estão os campos contendo o nome e a data de nascimento.

Na grade da consulta, na linha ''critério'' do campo correspondente à data de nascimento, digites:

= Date

No form coloques uma caixa de listagem cuja origem seja esta consulta.

No menu Ferramentas, clique em Inicializar e selecione este form para ser o inicial.

Cries um atalho do teu BD e arraste-o para a pasta Iniciar, do menu Iniciar do Windows.

Está feito!

Dicas:

- Se quiseres que apareça só o form na tela, clique com a tecla direita do mouse neste atalho e, em propriedades, selecione ''minimizar''.

- Tu podes optar por criar um atalho diretamente do teu form, clicando com a tecla direita do mouse, neste objeto, na lista de objetos que aparece na janela banco de dados e selecionando ''criar atalho''.

Abraços,

Varão bom dia 

 

Em 24/08/2006 at 7:55 PM, lori disse:

Siebiger, esse lance eu já resolvi, agora veio outro problema ainda maior, veja:

Ja consegui fazer o programa com o modulo abaixo, porem esqueci dos finais de semana e feriados, pois o usuário so trabalha de segunda a sexta e quem fazer aniversario no final de semana, vai passar despercebido, então por andanças pela NET pedi ajuda a foruns afins e me deram uma ajuda, porem ainda falta o ponto do final de semana, o modulo esta quase completo, mas não se o que fazer mais... se você souber me ajude por favor!!!

quero que ao ligar o PC (Ja resolvido) ele aparecesse quem faz aniversario no dia (Ja resolvido) e especificamente na sexta feira ele avisasse antecipadamente o aniversario que ocorrerao no sabado e no domingo (não resolvido), pode ser também avisar na segunda os aniversariantes do final de semana anterior.. tanto faz...

o modulo incompleto

Function aniversario()

Dim DB As DAO.Database

Dim rs As DAO.Recordset

Dim strCritério As String

Dim strMsg As String

Dim strTitle As String

Dim MyDate, MyWeekDay

MyDate = #8/24/2006# ' Atribua uma data.

MyWeekDay = WeekDay(MyDate) ' MyWeekDay contém 4 porque

' MyDate representa uma quarta-feira.

Set DB = CurrentDb()

Set rs = DB.OpenRecordset("ConsFuncAniv", dbOpenDynaset)

strCritério = "Format([DATA],""dd/mm"") = Format(Date(),""dd/mm"")"

rs.FindFirst strCritério

If rs.NoMatch Then

Exit Function

Else

Do While Not rs.NoMatch

strMsg = rs!funcionario & " - " & rs!cargo & vbCrLf & "Agência: " & rs!juncaoagencia & "-" & rs!nomeagencia

strTitle = "Dia Comemorativo !"

'MsgBox strMsg, vbInformation, strTitle

MsgBox "ATENÇÃO" _

& "@Hoje é o Aniversário de " & " " & strMsg & "" _

& "@Parabéns pelo seu dia!" & vbCrLf _

& vbCrLf _

& "", vbCritical + vbOKOnly, "Dia Comemorativo !"

rs.FindNext strCritério

Loop

End If

rs.Close

Set rs = Nothing

DB.Close

Set DB = Nothing

 End Function

Varão boa tarde , tu tens este exemplo acima pronto ??? se tiveres tu podes enviar para meu email ??? gilsonedleno@gmail.comdesde já gradeço , muito obrigado 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×