Avatar billede lund_dk Praktikant
19. december 2006 - 12:42 Der er 15 kommentarer og
1 løsning

poster i dag og 5 dage bagud

Jeg har denne, som finder hvor mange poster der er, hvor Shipment Date er dagen i dag.

Men hvis jeg vil have den til at tjekke poster med Shipment Date fra og med i dag, og 7 dage bagud, hvordan gør jeg det?

strSQLAllOrder = "SELECT COUNT_BIG (No_) AS [Antall ordre] FROM dbo.[3S Company A_S$Sales Header] [3S Company A_S$Sales Header] WHERE [shipment date] = '" & strToday & "' and ([Sell-to Customer No_] = '45' or [Sell-to Customer No_] = '46' or [Sell-to Customer No_] = '47' OR [Sell-to Customer No_] = '48' OR [Sell-to Customer No_] = '49')"


Min strToday defineres andet sted, og henter dagen i dag.
Avatar billede lund_dk Praktikant
19. december 2006 - 12:55 #1
Det er ms sql database
Avatar billede kalp Novice
19. december 2006 - 12:57 #2
[shipment date] > '" & DateAdd('d',-8,strToday) & "'
Avatar billede kalp Novice
19. december 2006 - 13:00 #3
strSQLAllOrder = "SELECT COUNT_BIG (No_) AS [Antall ordre] FROM dbo.[3S Company A_S$Sales Header] [3S Company A_S$Sales Header] WHERE [shipment date] >  DateAdd('d',-8,getdate())  and ([Sell-to Customer No_] = '45' or [Sell-to Customer No_] = '46' or [Sell-to Customer No_] = '47' OR [Sell-to Customer No_] = '48' OR [Sell-to Customer No_] = '49')"


tror også du kan gøre sådan
Avatar billede lund_dk Praktikant
19. december 2006 - 13:23 #4
Den må tælle forkert, da den også tæller dagen frem :s
Avatar billede lund_dk Praktikant
19. december 2006 - 13:30 #5
Har prøvet at lave et udtræk af tabellen, der der vises poster lige fra 05-12-2006
til 02-11-2007
Avatar billede ldanielsen Nybegynder
19. december 2006 - 13:32 #6
Brug:

DATEDIFF(d, GETDATE(), [shipment date]) <= 5

Måske skal den vendes om, jeg kan aldrig huske hvilken dato der skal stå først
Avatar billede lund_dk Praktikant
19. december 2006 - 13:32 #7
Mit strToday format er således:

strToday = Year(now()) & "-" & Month(now()) & "-" & Day(now())
----
prøvede at lave en response.write og her får jeg
... [shipment date] > '11-12-2006'30-12-2006 ...
Avatar billede lund_dk Praktikant
19. december 2006 - 13:34 #8
ldanielsen: Det gav mig samme resultat :(
Avatar billede lund_dk Praktikant
19. december 2006 - 13:41 #9
ldanielsen: Eller ikke helt, den får lige nappet morgendagens dato med også..
Avatar billede lund_dk Praktikant
19. december 2006 - 13:45 #10
SELECT * FROM dbo.[3S Company A_S$Sales Header] [3S Company A_S$Sales Header] WHERE [Sell-to Customer No_] = '45' and DATEDIFF(d, [shipment date], GETDATE()) <= 5 order by [shipment date]

giver:

14-12-2006
15-12-2006
15-12-2006
15-12-2006
18-12-2006
18-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
19-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
20-12-2006
30-12-2006
10-01-2007
02-11-2007
Avatar billede lund_dk Praktikant
19. december 2006 - 13:52 #11
Kan jeg måske evt bruge noget BETWEEN ..?
Avatar billede lund_dk Praktikant
19. december 2006 - 13:58 #12
StrTest =  DateAdd("d",-8,strToday)
strTest = Year(strTest) & "-" & Month(strTest) & "-" & Day(strTest)
strSQL = "SELECT * FROM dbo.[3S Company A_S$Sales Header] [3S Company A_S$Sales Header] WHERE [Sell-to Customer No_] = '45' and [shipment date] BETWEEN '" & strTest& "' AND '" & strToday & "'order by [shipment date]"

Var formatet det var galt med, og får mit ønskede resultat ved at gøre ovenstående.
Avatar billede kalp Novice
19. december 2006 - 14:03 #13
strSQLAllOrder = "SELECT COUNT_BIG (No_) AS [Antall ordre] FROM dbo.[3S Company A_S$Sales Header] [3S Company A_S$Sales Header] WHERE [shipment date] >  DateAdd('d',-8,getdate()) AND [shipment date] < getdate())  and ([Sell-to Customer No_] = '45' or [Sell-to Customer No_] = '46' or [Sell-to Customer No_] = '47' OR [Sell-to Customer No_] = '48' OR [Sell-to Customer No_] = '49')"
Avatar billede kalp Novice
19. december 2006 - 14:12 #14
i det før skal du lige fjerne )  efter getdate().

og muligvis skal der en dag på dags dato.. så det bliver

strSQLAllOrder = "SELECT COUNT_BIG (No_) AS [Antall ordre] FROM dbo.[3S Company A_S$Sales Header] [3S Company A_S$Sales Header] WHERE [shipment date] >  DateAdd('d',-8,getdate()) AND [shipment date] < DateAdd('d',1,getdate())  and ([Sell-to Customer No_] = '45' or [Sell-to Customer No_] = '46' or [Sell-to Customer No_] = '47' OR [Sell-to Customer No_] = '48' OR [Sell-to Customer No_] = '49')"
Avatar billede lund_dk Praktikant
19. december 2006 - 14:22 #15
Min BETWEEN virker perfekt. De andre løsninger virker ikke som de burde.

Ellers tak for hjælpen.
Avatar billede ldanielsen Nybegynder
20. december 2006 - 14:19 #16
For det første skal du ikke bruge din strToday, når du lige så godt kan bruge GETDATE(), der er ingen grund til at en streng skal opbygges udfra en dato, for derefter at skulle konverteres til en dato igen.

Korrekt, jeg havde glemt at datoerne kunne være i fremtiden.

Sådan her

... WHERE DATEDIFF(d, [shipment date], GETDATE()) BETWEEN 0 AND 5 ...

skulle gøre det
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