Zork
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 20/05/2011 12:31 hs
Pessoal preciso de uma solução na qual ja tentei varias coisas e nao consegui. Ja tentei com IF e CASE mas nao deu certo.
Tenho uma tabela assim: V1 IDADE1 V2 IDADE2 V3 IDADE3 V4 IDADE4 1 15 2 20 3 25 4 30
Preciso saber se uma pessoa com idade (por exemplo), 21. Passa para a proxima IDADE.
Ou seja, o PEDRO hoje fez 21 anos, entao ele deixará de participar da faixa etária entre 15 e 20 e passara a fazer parte da faixa etaria 20 e 25.
Tenho uma GRID com as informacoes e com essa condicao que nao estou conseguindo, eu colocaria em uma nova COLUNA na GRID a informacao se a pessoa sofrerá esse AGRAVAMENTO por IDADE.
Se alguem puder ajudar...
Abraçosss
|
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 20/05/2011 14:15 hs
zork primeiro vc terá que ter uma tabela, onde conste a data de nascimento da pessoa
sabendo a data de nascimento, bastaria usar um datediff para saber a idade
exemplo:
DateDiff("y", "20/05/1991", "20/05/2011") = 20
entendeu + ou -
|
|
|
Zork
|
SÃO PAULO SP - BRASIL
|
|
Postada em 20/05/2011 14:55 hs
Opa Treze valeu pela ajuda.
Mas essa minha tabela ela ja possui as idades. E a idade da pessoa eu ja pego ela atraves do ano de nascimento.
A situação é a seguinte. Uma pessoa tem Seguro de Vida e ela tem 66 anos. Hoje ela esta em uma faixa etaria entre. 65 até 70.
Mas no ano passado quando ela tinha 65, ela estava na faixa 55 a 65.
Como nesse ano ela completou seus 66, ela mudou de faixa etaria. E é exatamente isso que preciso descobrir. Tenho varias pessoas, e preciso descobrir quais trocaram de faixa etaria.
Ex: Tenho 30 anos.
IDADE1 IDADE2 IDADE3 IDADE4 20 25 30 35
Hoje estou na faixa entre 25 a 30 mas ano que vem completo 31. Entao passarei para a faixa 30 a 35. E é isso que preciso, descobrir quantas pessoas sofreram essa mudanca
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
Postada em 20/05/2011 16:06 hs
então vamos lá vc possui uma tabela com as repectivas idades correto?
nesta tabela vc tambem indica a faixa etária, pois o correto seria algo mais ou menos assim
uma tabela do segurada, exemplo das estruturas:
Codigo, nome, endereco, nasicmento, idade
e uma tabela de faixa etária
codfaixa, faixainicial, faixafinal
onde vc armazenaria os dados das faixas etárias da seguinte maneira
Faixainicial | FaixaFinal 21 25 26 30 31 35 ... etc, etc
da maniera acima esta faixas ao mudarem vc pode fazer a atualização
para fazer o select e saber e qual faixa etária o segurado se encontra seria assim
pegar a idade do segurado e verificar se ela é maior que a faixainicial e menor que a faixa final
exemplo:
select segurado.*, faixaetaria.* from segurado inner join faixaetaria on segurado.idade between faixaetaria.faixaini and faixaetaria.faixafinal
seria algo mais ou menos assim?
vc deverá postar exatamente como estruturou sua tabela
|
|
|
Zork
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 20/05/2011 16:23 hs
Treze entendi o que disse mas a tabela que tenho com as idades iniciais e finais estao assim:
Campo: idade1 Valor: 15 Campo: Idade2 Valor: 20 Campo: Idade3 Valor: 25 Campo: Idade4 Valor: 30
Logo como eu iria mencionar no SELECT no INNER JOIN no BETWEEN, onde vc sugere a dataini, mas eu tenho que verificar o campo idade1, idade2, idade3, etc.
O que eu tava fazendo era o seguinte.
If idade >= idade1 and idade <= idade2 then 'Dentro da faixa etaria ElseIf idade >= idade2 and idade <= idade3 then 'Dentro da faixa etaria end if
O problema é que sempre vai dar DENTRO DA FAIXA ETARIA.
Ex. If 31(anos) >= 25 and 31(anos) <= 30 then 'DENTRO DA FAIXA ElseIf 31(anos) >= 30 and 31(anos) <= 35 then 'Dentro da FAIXA end if
Preciso verificar todos os campos que tem a faixa etaria, logo o primeiro IF nao serveria, ei pulo para o SEGUNDO IF, meus 31 anos esta dentro da faixa 30 e 35, mas AI eu preciso saber que essa pessoa SOFRE MUDANÇA, mas no meu IF apenas mostro que A PESSOA ESTA DENTRO DA FAIXA ETARIA
|
|
|
|