|
Postada em 20/03/2007 21:27 hs
Galera ... quero faço uma pesquisa para aniversários. Aniversáriantes de hoje uma sql de amanhã outra sql, de depois de amanhã + uma tem alguma forma de de fazer uma consulta no banco de dados para pegar as datas e separa-las cada uma em um listbox? e isso ficaria mais rápido que várias consultas? ou o modo como faço já é o mais rápido?
|
|
|
|
|
Postada em 21/03/2007 01:14 hs
Na prática... como vc faz?? Não entendi
|
|
|
|
Postada em 21/03/2007 16:25 hs
Tenho 3 lists box no list1 coloco o nome dos aniversáriantes de hoje no list2 coloco o nome dos aniversáriantes de amanã no list3 coloco o nome dos aniversáriantes de depois de amanha
e para listar cada um deles faço uma Query SQL para consulta tem alguma outra forma? + rápida?
|
|
|
|
Postada em 22/03/2007 21:10 hs
Não sei se é isso mas veja ae: RS.OPEN "Select dataniver from tabela where dataniver between #2007/03/19# AND #2007/03/21#",CONEXAO_ADO DO WHILE NOT RS.EOF Select case day(RS(0)) CASE Day(Date) 'HJ 'codigo CASE Day(Date) + 1 'amanhã 'codigo CASE Day(Date) + 2 'depois de amanhã 'codigo End Select RS.MOVENEXT LOOP Vc passa as datas pra sql de hj até depois de amanhã. Seleciona os aniversários, depois faz um laço (do--loop) e em cada list vc adiciona o registro... entendeu? qq coisa posta ae at+
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 23/03/2007 12:47 hs
ghost tá me ajudando pacas rs... sabe me dizer como contar qts registros de cada? sem ter que criar variaveis para isso... tipo Select case day(RS(0)) CASE Day(Date) 'HJ 'codigo var_hj = var_hj +1 CASE Day(Date) + 1 'amanhã var_am = var_am +1 CASE Day(Date) + 2 'depois de amanhã 'codigo End Select tem como fazer isso já na sql? algo assim?] ab raços e muito obrigado pela ajuda
|
|
|
|
Postada em 23/03/2007 16:13 hs
A melhor SQL, que eu pensei aqui, que vc pode usar é esta: SELECT DATA FROM Data3 where (day(data) between day(date()) and day(date())+2) AND month(data) = month(DATE()) ; A sql acima escolhe as datas pelo dia (dia corrente, amanhã e depois de amanhã) e mês corrente... na SQL não dá pois as datas de aniversário devem estar gravadas como dia/mês/ano certo? Para contar os registros teria q usar COUNT + GROUP BY porém com possivelmente o ano dos aniversariantes são diferentes então fura a lógica. A não ser q no seu banco de dados vc separou em campos o dia, mês e ano. Estou vendo uma forma de utilizar o UNION mas tá complicado. Eu, no seu caso, contaria cada registro mesmo pois vou ter que usar o loop de qualquer forma... at+
|
|
|