Avatar billede hingebjerg Nybegynder
30. juni 2005 - 14:21 Der 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.

What to do??

HH
Avatar billede busschou Praktikant
30. juni 2005 - 14:26 #1
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)&"#"
Avatar billede hingebjerg Nybegynder
30. juni 2005 - 14:29 #2
i access har jeg format i dd-mm-yyyy

men jeg var ikke bekendt med Between....

den vil jeg da lige prøve.
Avatar billede hingebjerg Nybegynder
30. juni 2005 - 14:32 #3
Ok det virkersq lige præcis som jeg vil ha det til. Lækkert.

Smider du et svar busschou. du har endnu engang fortjent dine points!
Avatar billede busschou Praktikant
30. juni 2005 - 14:34 #4
Ja det gør jeg da gerne :o) , altid rart at hjælpe når det kommer til at virker :o)
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 00:00 #5
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.

Er det en du har en løsning på??
Avatar billede busschou Praktikant
01. juli 2005 - 00:07 #6
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?
Avatar billede busschou Praktikant
01. juli 2005 - 00:08 #7
Eller er det fordi dine brugere kun har en fødselsdag som 1/5 uden årstal?
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 00:08 #8
ja, det står der. men i DB står der jo det år personen er født. f.eks 04-04-1978
Avatar billede busschou Praktikant
01. juli 2005 - 00:11 #9
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)&"#"
Avatar billede busschou Praktikant
01. juli 2005 - 00:11 #10
how og der er så kun eet l i dateserial
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 00:13 #11
jeg prøver
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 00:46 #12
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?
Avatar billede busschou Praktikant
01. juli 2005 - 07:14 #13
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)
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 10:20 #14
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.
Avatar billede busschou Praktikant
01. juli 2005 - 12:00 #15
ok men udskriver den andre som den ikke skulle ?
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 12:08 #16
nej
Avatar billede busschou Praktikant
01. juli 2005 - 12:13 #17
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
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 12:21 #18
du har ret, den opfatter det omvendt
Avatar billede busschou Praktikant
01. juli 2005 - 12:26 #19
snørklet men måske muligt :o)
maaned1 = Moth(Date)
dag1 = Day(Date)
aar1 = Year(Date)
maaned2 = Moth(DateAdd("m",3,Date))
dag2 = Day(DateAdd("m",3,Date))
aar2 = Year(DateAdd("m",3,Date))
"Select * From kalender Where DBDato Between #"&maaned1&"-"&dag1&"-"&aar1&"# And #"&maaned2&"-"&dag2&"-"&aar2&"#"
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 12:30 #20
Hvad med: Session.LCID = 1030
skal jeg ha den med eller undlade?
Avatar billede busschou Praktikant
01. juli 2005 - 12:35 #21
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
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 12:37 #22
okay, men det snørklede ser i hvert fald ud til at virke. både med og uden LCID
Avatar billede busschou Praktikant
01. juli 2005 - 12:41 #23
ok upraktisk, men det vigtigste er vel at det virker ...trods alt :o)
Avatar billede hingebjerg Nybegynder
01. juli 2005 - 12:46 #24
ja, tak for hjælpen
Avatar billede busschou Praktikant
01. juli 2005 - 12:49 #25
det var så lidt :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester