USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Select Complicada
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
Pontos: 2843 Pontos: 2843
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
Pontos: 2843 Pontos: 2843
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




   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página