06. april 2006 - 07:43Der er
6 kommentarer og 2 løsninger
select from database where month+day>=date()
Hej
Jeg er i øjeblikket ved at lave en fødselsdagsoversigt. Datoerne ligger i databasen som eksempelvis "20-03-1985". Jeg ved at med denne kode, vises datoerne der ligger fra dags dato og fremover:
Sql = "Select * from T_gaestebog WHERE dato >= date() order by dato ASC"
og dette er også meningen at den skal gøre i fødselsdagsoversigten. Problemet er så bare, hvordan jeg får den til kun at sortere efter "20-03" - da den ellers ikke viser datoerne, hvor året er før dags dato.
Du kan bruge bruge Month og Day funktionerne til at finde dem:
Sql = "Select * from T_gaestebog WHERE (day(dato) >= day(date()) and month(dato) >= month(date())) or month(dato) > month(date()) order by dato ASC"
Problemet er så nå man kommer til december så viser den ikke dem i januar før det er den 1/1. Så de skal noget med som også tager dem som ligger før...
Nu vil jeg ikke hvilken database du bruger men dette kan bruges til access det er lavet med unions en som vælger fra nu til 31/12 og en som vælger fra 1/1 til nu så har du en fødselsdagsoversigt fra dags dato og fremover:
sql = "SELECT * FROM (" sql = sql & "SELECT dato, dateserial(year(date()),month(dato),day(dato)) as sortDato FROM T_gaestebog WHERE dateserial(year(date()),month(dato),day(dato)) >= Date()" sql = sql & " UNION ALL SELECT dato, dateserial(year(date())+1,month(dato),day(dato)) as sortDato FROM T_gaestebog WHERE dateserial(year(date()),month(dato),day(dato)) < Date()" sql = sql & ") ORDER BY sortDato"
SELECT * FROM T_gaestebog WHERE (((DateSerial(Year(Date()),Month([dato]),Day([dato])))>Date())) ORDER BY DateSerial(Year(Date()),Month([dato]),Day([dato]));
Mange tak for svarene. Jeg har valgt at give jer begge point, da I begge er kommet med et fornuftigt svar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.