Avatar billede flemming39 Nybegynder
02. marts 2007 - 10:25 Der er 8 kommentarer og
1 løsning

sql dato problem

Hej

Jeg har følgende sql-statement som jeg sender til en forespørgsel:

SELECT SERVER,DATE1 AS DATO,FORBRUGDB.IPADRESSE,NAVN, Count(FORBRUGDB.IPADRESSE) AS ANTAL FROM IPADRESSE_NAVN RIGHT JOIN FORBRUGDB ON IPADRESSE_NAVN.IPADRESSE = FORBRUGDB.IPADRESSE  WHERE DATE1 >= #27-02-2007# AND DATE1 <= #01-03-2007# GROUP BY SERVER,DATE1,FORBRUGDB.IPADRESSE,NAVN

problemmet er at forespørgslen "vender" #01-03-2007# til at være #03-01-2007#, men #27-02-2007# behandles korrekt????

Er der en af Jer der har en erfaring omkring mit problem?

mvh Flemming
Problemmet
Avatar billede gertp Nybegynder
02. marts 2007 - 10:32 #1
prøv
<% session.lcid = 1030 %>
øverst på din side
Avatar billede kalp Novice
02. marts 2007 - 10:50 #2
SELECT SERVER,DATE1 AS DATO,FORBRUGDB.IPADRESSE,NAVN, Count(FORBRUGDB.IPADRESSE) AS ANTAL FROM IPADRESSE_NAVN RIGHT JOIN FORBRUGDB ON IPADRESSE_NAVN.IPADRESSE = FORBRUGDB.IPADRESSE  WHERE DATE1 >= Format (#27-02-2007#, "dd/mm/yyyy") AND DATE1 <= Format (#01-03-2007#, "dd/mm/yyyy") GROUP BY SERVER,DATE1,FORBRUGDB.IPADRESSE,NAVN

eller

SELECT SERVER,DATE1 AS DATO,FORBRUGDB.IPADRESSE,NAVN, Count(FORBRUGDB.IPADRESSE) AS ANTAL FROM IPADRESSE_NAVN RIGHT JOIN FORBRUGDB ON IPADRESSE_NAVN.IPADRESSE = FORBRUGDB.IPADRESSE  WHERE DATE1 >= Format (#27-02-2007#, 'dd/mm/yyyy') AND DATE1 <= Format (#01-03-2007#, 'dd/mm/yyyy') GROUP BY SERVER,DATE1,FORBRUGDB.IPADRESSE,NAVN


ps. du kan sikkert også udskifte / mellem dd/mm/yyyy til - hvis det er
Avatar billede flemming39 Nybegynder
02. marts 2007 - 11:29 #3
Min sql ser sådan ud:
SELECT SERVER,DATE1 AS DATO,FORBRUGDB.IPADRESSE,NAVN, Count(FORBRUGDB.IPADRESSE) AS ANTAL FROM IPADRESSE_NAVN RIGHT JOIN FORBRUGDB ON IPADRESSE_NAVN.IPADRESSE = FORBRUGDB.IPADRESSE  WHERE DATE1 >= Format (#27-02-2007#, 'dd/mm/yyyy') AND DATE1 <= Format (#01-03-2007#, 'dd/mm/yyyy') GROUP BY SERVER,DATE1,FORBRUGDB.IPADRESSE,NAVN

men ser stadig sådan ud i kriterie cellen i design wiev selvom jeg putter format på:

=Format(#27-02-2007#;'dd-mm-yyyy') And <=Format(#03-01-2007#;'dd-mm-yyyy')
Avatar billede terry Ekspert
02. marts 2007 - 19:17 #4
I would normally use yyyy/mm/dd format
Avatar billede kjulius Novice
02. marts 2007 - 22:10 #5
Normalt, når man angiver en dato direkte i SQL, er det i amerikansk format, altså mm/dd/yy:

3. april 2005 = #04/03/2005#

Det er som det ser ud i SQL visning.

I design view, bliver det ændret iht. systemopsætningen
(dansk standardopsætning dd-mm-åååå): #03-04-2005#

Men Access forsøger at være "smart", så hvis man angiver en måned, som er større end 12, vil den antage at den skal gøre det omvendt (den ændrer det bare, uden at melde en fejl). Det bedste er altså at være konsekvent og i SQL at anvende det amerikanske format.
Somme tider er "intelligens" en svøbe...
Avatar billede flemming39 Nybegynder
05. marts 2007 - 14:07 #6
Jeg kan ikke ændre i database designet vedrørende andet datoformat så ..
Jeg løste problemmet på denne (ikke særlig elegante) måde men det virker :-)
Jeg kunne ikke få vendt datoen ved hjælp af format() eller format$() jeg har prøvet på alle mulige og umulige måder :-(

If Day(Forms!rapporter!TilDato) < Month(Forms!rapporter!TilDato) Then

tdate=(Right(Left(Forms!rapporter!TilDato,6),3))&(Left(Forms!rapporter!TilDato,3))& (Right(Forms!rapporter!TilDato,4))
Forms!rapporter!TilDato = tdate

End If

mvh Flemming
Avatar billede kjulius Novice
05. marts 2007 - 23:53 #7
Et kriterie som ca. sådan her burde da ellers kunne gøre det, skulle jeg mene...

WHERE Date1 BETWEEEN Format(CDate(Forms!rapporter!FraDato),'mm\/dd\/yyyy') AND Format(CDate(Forms!rapporter!TilDato),'mm\/dd\/yyyy')
Avatar billede flemming39 Nybegynder
09. marts 2007 - 09:02 #8
Hej Kjulius

Tak for hjælpen.

Jeg har ikke haft tid til at prøve dit forslag, men din forklaring var god og hjalp mig til en løsning.
Så smid et svar og få dine velfortjente point. Jeg skal nok give et praj hvis/når jeg får tid til at prøve dit sidste forslag af.

mvh Flemming
Avatar billede kjulius Novice
09. marts 2007 - 12:48 #9
Swell...
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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