FILTRAR ANIVERSSARIOS

MAICONLS 11/07/2005 13:09:02
#93354
Exites alguma maneira de se procurar no cadastro de clientes os aniverssáriantes do mes ? Tipo
tenho no form clientes um txtbox aonde o usuario digita a data de nascimento do clientes neste formato 20/12/1977...Este cliente faz aniverssário dia 20 de Dezembro...Existe como eu realizar a busca no Bd somente pelo mes 12 ? E me listar todos os aniverssariantes deste mes ?

Atualmente me RS é esse :

"Select * from TabClientes where Nascimento >= #" & Format(txtdatainicial.Text, "mm/dd/yyyy") & "# and Nascimento <= #" & Format(txtdatafinal.Text, "mm/dd/yyyy") & "#"

Eu gostaria de colocar um comboBox com os meses: JAN,FEV,MAR...e assim por diante...
JEAN.JEDSON 11/07/2005 13:14:19
#93356
Resposta escolhida
tente:

"SELECT * FROM TabClientes WHERE MONTH(Nascimento) = " & MONTH(CDATE(txtdataescolhida.text)) & " AND YEAR(Nascimento) = & YEAR(CDATE(txtdataescolhida.text))
ICEMAN 11/07/2005 13:16:09
#93357
faça assim

coloque em seu form uma caixa de texto
um data control
e um grid
ah um botao filtrar

vicule a data com o banco de dados e o grid com o data control

Data1.RecordSource = "Select * from TABELA where CAMPO like '*" & TXTDATA.Text & "'"
Data1.Refresh
DBGrid1.Refresh


EU USO ASSIM
e funciona perfeitamente

espero ter ajudado
MAICONLS 11/07/2005 13:16:47
#93358
Por exemplo, digamos que eu tenha o cliente que faz aniverssário de 20/12/1977, chegando em dezembro eu iria em um botão e clicaria nele então sairia uma impressão me listando todos os aniverssariantes do mes de dezembro...?
JEAN.JEDSON 11/07/2005 13:16:51
#93359
ou então, de acordo com seu exemplo

"SELECT * FROM TabClientes WHERE MONTH(Nascimento) >= " & MONTH(CDATE(txtdatainicial)) & " AND YEAR(Nascimento) >= & YEAR(CDATE(txtdatainicial)) & " AND MONTH(Nascimento) <= " & MONTH(CDATE(txtdatafinal)) & " AND YEAR(Nascimento) >= & YEAR(CDATE(txtdatafinal))
ICEMAN 11/07/2005 13:24:56
#93366
nao no geito que coloquei para vc ele listara no dbgrid
para imprimir assim eu nao sei muito bem
vc vai ter que criar um data envioriment no vb
e tera de fazer conecçao ado
e depois mandar filtar e relacionar no datareport


pelo menos foi assim que me ensinaram

a nao ser que vc coloque um grid grande e coloque

no botao imprimir


me.printform

e ele imprime o formulario todinho par vc


MAICONLS 11/07/2005 13:48:28
#93377
Não funcionou, eu não sei se me expressei corretamente, tipo vou falar bem detalhado....Tenho um form aonde eu faço o cadatro de clientes, neste form tem um txtbox que nele é digitado a data de nascimento do cliente, tenho um menu em meu form, neste menu tem uma opção "Aniverssariantes do mes" seu eu clicar nesta opção vai me abrir um relatório mostrando todos os aniverssariantes do mes atual...Existe como eu fazer isto ? Tipo tem como eu filtrar da data por exemplo 20/12/1977 filtrar somente o mes 12 ? Ou outro mesd qualquer ?O brigado..
WHELLNET 11/07/2005 14:00:00
#93382
Tenta filtrar desta forma
Private CommandButton1_Click()
Dim DiaFinal As Integer
'Seleciona o dia final
Select Case Month(Date)
Case 1,3,5,7,8,10,12
DiaFinal = 31
Case 4,6,9,11
DiaFinal = 30
Case 2
If Int(Year(Date) / 4) = Int(Year(Date) / 4) * 4 Then
'Ano bicesto
DiaFinal = 29
Else
DiaFInal = 28
End If
End Select

Dim Rs As New Adodb.RecordSet
Rs.CursorLocation = AdUserCliente
Rs.Open "SELECT * FROM TBL_CLIENTES WHERE DATANASCIMENTO BETWEEN " & CHR(39) & FORMAT(MONTH(DATE),"00") & "/01/" & YEAR(DATE) & CHR(39) & " AND " & CHR(39) & FORMAT(MONTH(DATE),"00") & "/" & DiaFinal & "/" & YEAR(DATE) & CHR(39)
JEAN.JEDSON 11/07/2005 14:02:24
#93383
tente assim:

"SELECT * FROM TabClientes WHERE MONTH(Nascimento) = " & MONTH(DATE)
Tópico encerrado , respostas não são mais permitidas