03. september 2008 - 09:05Der er
9 kommentarer og 1 løsning
Spørgsmål til sum
Hej.
Jeg har denne forespørgsel: "select sum(totalprice) as total from orders where STATDeclined = 0 and orderDate between '"&date&"' and '"&now&"'"
Jeg ved ikke hvordan jeg requester på hvis der ikke findes et resultat.
F.eks virker dette ikke: if orders("total") = "" then total = 1 else total = orders("total") end if
Jeg bliver nødt til at laev total om til et tal, da jeg senere bruger formatnumber og siden fejler hvis total ikke indenholder en værdi. Er der en der har en løsning. Har prøvet en masse forskellige if.
Du kan, i dette tilfælde, undgå at "bokse" med datoformater, hvis du bruger databasens egne datorutiner (dette er Access-format):
"select sum(totalprice) as total from orders where STATDeclined = 0 and orderDate between date() and now()"
Kan du i øvrigt ikke lige vise hele koden fra du udfører din SQL-sætning til du har tjekket på orders...? Så er det lidt lettere at se om der går noget galt på vejen...
Selve sqlén virker fint, men problemet opstår hvis der ikke er et resultat.
call opentblIntranet("select sum(totalprice) as total from orders where STATDeclined = 0 and orderDate between '"&date&"' and '"&date&"'", orders) if not orders.eof then OmsDag1 = orders("total") else OmsDag1 = 1 end if response.write OmsDag1 call closetblIntranet(orders)
Hvad kommer der rent faktisk ud af din SQL? Er der en række som indeholder NULL, eller er det 0 eller noget helt tredie?
Du kunne evt. teste på det resultat som kommer, når du laver en forspørgsel som ikke returnerer noget...
Det er grundlæggende svært at forholde sig til, hvad dit intranet-bibliotek gør og hvilke regler der er lagt i det ifht. f.eks. tomme resultater osv., så du er nød til at være mere konkret mht. hvad der kommer tilbage i de forskellige tilfælde (specielt tomme resultater).
Returneres der f.eks. 0 kunne du tjekke på det i stedet for orders.EOF:
if not orders.eof then if orders("total") > 0 then OmsDag1 = orders("total") else OmsDag1 = 1 end if else OmsDag1 = 1 end if response.write OmsDag1
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.