Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

progster

[Resolvido] Aniversários

Recommended Posts

Boa tarde.

 

Estou a desenvolver uma pequena BD em Access, para o departamento de Recursos Humanos onde trabalho, e uma das componentes é criar altertas de aniversários, ou seja, ao abrir a BD automaticamente aparece o formulário de funcionários, o que eu quero é que através de um botão me apareça uma msg com a lista de funcionários que fazem 50 anos nesse dia.

 

Tenho só um campo para Data de Nascimento.

 

Desde já agradeço qualquer ajuda que me possam dar.

 

Cumprimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só os que fazem 50 anos?

 

para saber quem faz aniversario é só consultar pelo dia e pelo mês da data de nascimento

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Tenta isto...

 

Criar consulta - modo SQL - e colar este código:

 

SELECT 
	tblFuncionario.Funcionario, 
	tblFuncionario.Nascimento, 
	IIf(IIf(Day([Nascimento]) & Month([Nascimento])=Day(Date()) & Month(Date()),DateDiff('yyyy',[Nascimento],Date()),0)>=50,"Aniversariante","-") AS Idade
FROM tblFuncionario
WHERE (((IIf(IIf(Day([Nascimento]) & Month([Nascimento])=Day(Date()) & Month(Date()),DateDiff('yyyy',[Nascimento],Date()),0)>=50,"Aniversariante","-"))="Aniversariante"));

 

*A linha de código ficou maior do que deveria, mas funciona...

 

 

Feito isto, criar um formulário com esta consulta e o mesmo deverá ser chamado a partir do botão mencionado por você...

 

Private Sub cmdNIver_Click()

    DoCmd.OpenForm "frmNiver"

End Sub

 

 

PS: caso também queira visualizar os aniversariantes do mês, verificar o post abaixo:

 

http://forum.imasters.com.br/index.php?/topic/204159-listagem-com-aniversariantes/page__s__e058ef993f56c94270907ae31e0150a8

 

 

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estive a trabalhar com o seguinte código:

 

Private Sub cmdAniversarios_Click()

Dim rst As Recordset

Dim Nomes As String

Dim Data As Date

 

Data = DateSerial(Year(Date) - 50, Month(Date), Day(Date))

Set rst = Application.CurrentDb.OpenRecordset( _

"SELECT [Nome] FROM [Funcionarios] WHERE [Data_Nascimento]=#" _

& Format(Data, "mm-dd-yyyy") & "#")

If rst.EOF Then

MsgBox "Hoje Não Há Aniversariantes com 50 Anos!"

Else

S = ""

Do Until rst.EOF

S = S & vbCrLf & rst!Nome

rst.MoveNext

Loop

MsgBox "Hoje Fazem 50 Anos:" & S

End If

End Sub

 

Depois de o adaptar. Retorna aquilo que preciso. Só que agora o futuro utilizador da BD, pediu-me o seguinte critério:

 

Para os funcionários que fazem 50 anos quer saber quantos, ou se todos, foram a uma consulta médica obrigatória enviados pelo serviço.

 

Não sei se me fiz entender. Qualquer coisa é só dizer.

 

Obrigado pela ajuda prestada, e agradeço qualquer ajuda que ainda me possam prestar.

 

Cumprimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.