30. juni 2005 - 14:21Der er
24 kommentarer og 1 løsning
Sammenligning af DATOER i ASP
Hej.
Jeg har nogle indlæg til at ligge i en database. Til hvert indlæg er der tilkoblet en dato.
nu vil jeg gerne udskrive de indlæg der er senere end Idag og tidligere en 3 måneder frem.
Altså: usksriv indlæg > IDAG AND indlæg < IDAG+3mdr
jeg har ikke kunne få ASå til at lave > < (større end, mindre end) ved hele datoen. Jeg kan godt gøre det på Month, day og Year , men det virker ikke efter hensigten.
det må være et spørgsmål om min sql liníe:
"SELECT from kalender Where DBDato >" & Date
Den virker ikke. Den tager alt med. men det er i bund og grund sådan den skal være.
Hvordan ser dit datoformat ud? Det kan være fordi det ene tester på dd-mm-yyyy og det andet på mm-dd-yyyy Det kan også være du mangler benytte # som skal omkring datoer i access? Anyways kan og bør du også kunne benytte Between "Select * From kalender Where DBDato Between #"&Date&"# And #"&DateAdd("m",3,Date)&"#"
Måske vi lige kan lave en udvidelse af den her...??
Brugerne i min DB har sat en FødselsdagsDato.
Nu skal jeg hive de datoer frem der kommer indenfor de næste 3 mdr. der dur denne ikke: "Select * From users Where Dato Between #"&Date&"# And #"&DateAdd("m",3,Date)&"#"
fordi den jo tager årstallet med. det skal den ikke. kun måned og dag.
Det forstår jeg ikke Det der står i din sql "oversat til idag" er "Select * From users Where Dato Between #01-07-2005# And #01-10-2005#" Så den vælger kun tre måneder frem?
ahh ok ja nu er jeg med :o) Jeg ved ikke om man i access kan benytte DateSeriall direkte.Men det er vel et forsøg værd "Select * From users Where DateSeriall(Year(Date), Month(Dato), Day(Dato)) Between #"&Date&"# And #"&DateAdd("m",3,Date)&"#"
Jeg har ikke afprøvet det med dateserial endnu, for jeg er løbet ind i noget mærkeligt. Den sql sætning du skrev ("Select * From kalender Where DBDato Between #"&Date&"# And #"&DateAdd("m",3,Date)&"#")
den "virker" ikke nu hvor vi har skiftet dag(dato/måned). stiller jeg uret/datoen i windows til igår, udskriver sql sætningen det som den skal rigtigt nok. Men når datoen er idag i windows, så virker det ikke.........??? er det ik underligt?
Hvad skriver den ud? Det kunne lyde som om den tolker dato formatet forkert nemlig Jeg har før set at når man har dd-mm-yyyy og at det bliver tolket som mm-dd-yyyy Og det betyder jo man nogen gange er heldig og få noget rigtig, men andre gange får noget helt forkert :o) Så prøv skrive det den giver dig af datoer i den rækkefølge den giver dig dem, så ser vi på det :o)
I databasen har jeg dd-mm-yyyy. hvis jeg udskriver min sqllinie skriver den: Select * From kalender Where DBDato Between #01-07-2005# And #01-10-2005# ORDER by DBDato (Vel som den skal)?
og der ER poster i det tidsrum, så den burde udskrive dem, men det gør den ik.
jeg har en skummel mistanke om at det er fordi den opfatter det som mellem 07-01-2005 og 10-01-2005 Du kan evt prøve teste ved at oprette en med fødselsdag 08-01-2005 og se om den kommer med i den sql sætning. Hvis den gør det så er det jo det som er galt, hvis ikke, ja så ved jeg næsten ikke hvad det kan være
Jeg må indrømme at jeg ikke er helt med på hvordan den fungerer Jeg "tror" den sørger for at det altsammen foregår indenfor danske normaler Så hvis du undlader den får du måske problemer andet steds Endvidere så viser det jo også at det er sql statementet som tager fejl, vil jeg mene Og jeg ved ikke om LCID også virker på databasen
Men du kan jo evt teste lidt frem og tilbage Jeg beklager, men jeg har simpelthen aldrig selv benyttet LCID , så er lidt uvidende deromkring desværre
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.