Avatar billede qaaq Nybegynder
19. juli 2006 - 15:25 Der er 5 kommentarer

Hvorfor henter denne sql sætning hele året??

Hej
Denne sql sætning skulle gerne hente omsætningen fra 01-07-2006 til 15-07-2006 men den henter fra hele år 2006. Hvorfor??

TxtFra og TxtTil er tekstboxe
Dataformatet for FakturaUdskrevet i access databasen er Dato og klokkeslet.

<%
SQL = "SELECT * " &_
        "FROM Ordrer " &_
        "WHERE ((FakturaUdskrevet >= #" & Request.Form("TxtFra") & "#) AND (FakturaUdskrevet <= #" & Request.Form("TxtTil") & "#)) " &_
        "ORDER BY FakturaUdskrevet asc"
Set RS = DBConn_ELNO.Execute(SQL)
Omsetning = 0
While not RS.eof

    SQL = "SELECT * " &_
            "FROM Ordrelinier " &_
            "WHERE (Ordrenummer = '" & RS("Ordrenummer") & "')"
    Set RS2 = DBConn_ELNO.Execute(SQL)
    While not RS2.eof
        Regnestykke = RS2("Stk") * RS2("Pris")
        Omsetning = Omsetning + Regnestykke
response.write(RS("Dato") & ": "  & Regnestykke & "<br>")
    RS2.MoveNext
    Wend

RS.MoveNext
Wend
%>
<p>Omsætning: (<% =Request.Form("TxtFra") %> til <% =Request.Form("TxtTil") %>) <% =Omsetning %> kr</p>
Avatar billede fennec Nybegynder
19. juli 2006 - 15:33 #1
Sikkert fordi dine datoer ikke er formateret til Access format. De skal angives i mm-dd-yyyy formatet, hvorfor den opfatter "01-07-2006" som 7. januar.
Avatar billede musicchart.dk Nybegynder
19. juli 2006 - 15:40 #2
Som fennec siger... ellers prøv med BETWEEN.

"WHERE ((FakturaUdskrevet >= #" & Request.Form("TxtFra") & "#) AND (FakturaUdskrevet <= #" & Request.Form("TxtTil") & "#)) " &_

til:

"WHERE (FakturaUdskrevet BETWEEN #" & Request.Form("TxtFra") & "# AND #" & Request.Form("TxtTil") & "#) " &_
Avatar billede musicchart.dk Nybegynder
19. juli 2006 - 15:41 #3
Men under alle omstændigheder - så prøv at udskrive din SQL-sætning, så kan vi i hvertfald finde ud af fennec har ret :o)
Avatar billede qaaq Nybegynder
19. juli 2006 - 21:40 #4
Sql sætningen er:

SELECT * FROM Ordrer WHERE ((FakturaUdskrevet >= #01-07-2006#) AND (FakturaUdskrevet <= #31-12-2006#)) ORDER BY FakturaUdskrevet asc

Selvom jeg bytter rundt på dd og mm i tekstboxen henter den stadig fra de forkerte måneder.

Jeg har sat Session.LCID = 1030 så den burde vel være i dansk format??
Avatar billede fennec Nybegynder
20. juli 2006 - 08:29 #5
LCID har intet med Access formatet at gøre. Det godtager kun mm-dd-yyyy formatet, lige som MySQL skal have yyyy-mm-dd.

Prøv at skrive denne sql manuelt ind:
SQL = "SELECT * FROM Ordrer WHERE ((FakturaUdskrevet >= #07-01-2006#) AND (FakturaUdskrevet <= #07-15-2006#)) ORDER BY FakturaUdskrevet asc"

Den skulle gerne finde alle faktura fra 1 - 15 juli.
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