Avatar billede Jman Praktikant
31. juli 2003 - 19:36 Der er 18 kommentarer og
1 løsning

Jeg kan ikke få "where [deadline] (større end) date til at virke

set rscountdue = connStatus.execute("select count(id) as antaldue from Opgave where deadline >" & date)
sådan ser min nuværende kode ud.
Jeg får et resultat (d.v.s. ingen fejl), men det er bare ikke det rigtige. Den viser nemlig tallet for alle felter i databasen og det ved jeg er forkert...
Jeg har prøvet med:
set rscountdue = connStatus.execute("select count(id) as antaldue from Opgave where deadline =#" & date&"#") - men det giver fejl

Det er op imod en sql-database
Avatar billede Jman Praktikant
31. juli 2003 - 19:38 #1
den nederste skulle selvfølgelig være
set rscountdue = connStatus.execute("select count(id) as antaldue from Opgave where deadline >#" & date&"#")
Avatar billede Slettet bruger
31. juli 2003 - 19:56 #2
Prøv set rscountdue = connStatus.execute("select count(id) as antaldue from Opgave where deadline >'" & date&"'")
Avatar billede Jman Praktikant
31. juli 2003 - 20:04 #3
den har jegogså prøvet uden hel :(
Avatar billede Jman Praktikant
31. juli 2003 - 20:05 #4
gik lidt stærkt: Den har jeg også prøvet - uden held
Avatar billede Slettet bruger
31. juli 2003 - 20:06 #5
Er deadline en datetime?
Avatar billede Slettet bruger
31. juli 2003 - 20:08 #6
Ellers prøv sql serverens getdate:
set rscountdue = connStatus.execute("select count(id) as antaldue from Opgave where deadline > getdate()")
Avatar billede Jman Praktikant
31. juli 2003 - 21:20 #7
det er en datetime ..
Jeg forsøger at lege videre med det i morgen, på arbejdet
Avatar billede Slettet bruger
31. juli 2003 - 21:21 #8
Ok, som skrevet så bruger den sidste en sql funktion som henter dagen så den skulle gerne virke, held og lykke med det :-)
Avatar billede codemonkey Nybegynder
01. august 2003 - 10:06 #9
For at være helt sikker på at sql fatter din dato kan du benytte convert funktionen. Feks. således:
select count(id) as antaldue from Opgave where deadline > convert(datetime, '" & date&"')
Avatar billede Jman Praktikant
01. august 2003 - 12:27 #10
hmmm ... og øv.
Jeg har prøvet begge forslag og jeg tror et eller andet sted der er noget rigtigt i det. Men (sådan et er der jo tit)
getdate() funcionen giver mig resultatet: 1
convert  funcionen giver mig resultatet: 7
og i min liste kan jeg tælle 5

- se evt. screendump: http://www.jman.dk/screendump.gif.
Til højre ses antal opgaver og hvor mange heraf der er overskredert deadline. (tag jer ikke af 4-tallet). Til venstre ses opgaverne i listeform

[hæver lige til 200p. da det er ret presserende ;)]
Avatar billede codemonkey Nybegynder
01. august 2003 - 12:39 #11
Hvis du tester op imod 1-8-2003 kan resultatet fint være 7. Du har jo 2 opgaver der slutter den 1-8-2003, og du skal huske at du som sådan også tester mod tiden (ikke kun datoen). Så enten skal benytte >= sammenligning, eller angive en dato+tidspunkt for din opgave's deadline.
Avatar billede Jman Praktikant
01. august 2003 - 12:45 #12
med <= (den skal vel være mindre end) bliver resultatet dog det samme - altså 7
Avatar billede codemonkey Nybegynder
01. august 2003 - 13:23 #13
Hvis du ikke vel teste mod tiden, kan benytte følgende, hvor du sammenligner for dag, måned og år:

... WHERE DATEPART(dd, deadline) < DATEPART(dd, convert(datetime, '" & date&"')) AND DATEPART(mm, deadline) < DATEPART(mm, convert(datetime, '" & date&"')) AND DATEPART(yyyy, deadline) < DATEPART(yyyy, convert(datetime, '" & date&"'))
Avatar billede codemonkey Nybegynder
01. august 2003 - 13:28 #14
Damm, en dårligt sætning jeg fik banket ned i forrige indlæg. !!!
Avatar billede Jman Praktikant
01. august 2003 - 15:05 #15
Nu virker det - det var dags dato der drillede, men jeg havde ikke set at der var 2 af slagsen.... DOH!
Når men jeg benyttede getdate()-1, da dags dato, jo gerne må være med - den er ikke overskredet....endnu!
Takker for hjælpen
Avatar billede codemonkey Nybegynder
01. august 2003 - 15:14 #16
Det er vel så et definitionsspørgsmål !.  Jeg håber i det mindste at mine kommentar hjalp dig på vej, for nogle point gav de ikke. ;-{
Avatar billede Slettet bruger
01. august 2003 - 20:27 #17
Der er lidt til dig her http://www.eksperten.dk/spm/382619
Avatar billede Jman Praktikant
02. august 2003 - 15:36 #18
hey codemonkey
Jeg beklager at jeg tilsidesatte dig m.h.t. pointgivningen, men jeg har tidligere været i diskussioner med folk, der følte at det var forkert at give andre point (for at prøve at hjælpe), når de ikke havde afleveret det svar jeg præcist søgte...
Jeg har dog tidligere gjort det alligvel. Jeg valgte dog her at give fuld valuta til bertie... måske et forkert valg, men så i hvert fald da undskyld ;)
Avatar billede codemonkey Nybegynder
03. august 2003 - 22:02 #19
Det er bare i orden. Jeg er ny her på eksperten, så jeg var lidt i tvivl om hvorledes normen er for point givning (og lidt sulten efter at få mine første point). Men det vigtigste er jo at problemet er blevet løst. Så bare sig til, hvis du har spg. en anden gang.
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
Computerworld tilbyder specialiserede kurser i database-management

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