webForumDet fria alternativet
Logga in / Bli medlem

En snabbis...

ASP

5 svar · 206 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Trådstart#1

Jag är inte så van vid att använda olika typer av queries i sql så därför blir det lite fel då och då.... som nu:

Kod:
Find = "SELECT * FROM orders WHERE orderDate BETWEEN '" & Request.Form("from") & "' AND '" & Request.Form("to") & "'"

Fel:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

:)

Medlem sedan dec. 200012 464 inlägg
#2

För access 2000 och äldre versioner gäller

Find = "SELECT * FROM orders WHERE orderDate BETWEEN #" & Request.Form("from") & "# AND #" & Request.Form("to") & "#"

när man anger en datumliteral.

Medlem sedan apr. 20021 203 inlägg
#3

tackar för den men tyvärr (får man väl säga) så var felet att jag hade fel typ av fält i min databas. Ändrade den från tal till text så fungerade det

:)

Medlem sedan apr. 20021 203 inlägg
#4

Sedan har jag ett litet problem till, eller kanske inte tt problem utan snarare en fråga.

Jag kan nu visa alla rader som innehåller ett datum som är mellan det besökaren skrivit. Men, nu vill jag också kunna göra så här:

Ett script ska selecta alla raderna mellan det användaren bestämt (som nu) och sedan addera alla tal i en viss kolumm, så att man får ut, allmän info och det sammanlagda värdet av ihopalagda poster. Så här:

Namn: Bosse
Köpte: En traktor
Pris: 70000

Namn: Nisse
Köpte: Ett hus
Pris: 2000000

Totalt: 2070000

:)

Medlem sedan apr. 20021 203 inlägg
#5

Är det ingen som har några tips eller så?

Medlem sedan dec. 200012 464 inlägg
#6

Byt datatype till datetime för orderdate.

Hur vill du ha det om samma person har köpt flera (olika) saker?

Hur som helst så är det enklast att summera i VB-script då du går igenom alla poster.

q = "select * from t where orderdate between ... order by name"
set rs = connect.execute(q)
totper = 0.0
totall = 0.0
p = ""
while not rs.eof
if  p<> "" and p <> rs("name") then
   if totper <> 0.0 then response.write totper & "<br><br>"
   p = rs("namn")
   response.write p & "<br>"
   totper = 0.0
end if
  'övrig info
  totall = totall + cdbl(rs("kostnad"))
  totper = totperl + cdbl(rs("kostnad"))
 rs.movenext
wend
if totper <> 0.0 then response.write totper & "<br><br>"
if totall <> 0.0 then response.write "Alla" & totper & "<br><br>"

du får frilla till det lite.

391 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
127 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)