Jag har gjort en liten databas där det var tänkt att olika bilägare skall knappa in mätarställningen på sin bil varje månad. Det är sedan tänkt att den bilansvarige skall kunna dra ut information på hur långt varje bil har rullat de senaste sex månaderna.
Någon som har förslag på hur jag skall gå till väga? Jag har försökt följande:
i = 0
n = 0
Dim miltre(20)
Do until rs.eof
if i = 0 then
milett = rs("mileage")
i = i+1
else
if miltva <> rs("mileage") AND n=0 then
miltva = rs("mileage")
miltre(n) = milett - miltva
n = n+1
else
miltre(n) = miltva - milett
n = n+1
end if
i = o
end if
rs.movenext
loop
'response.write miltva & milett & n
miltre(n) = miltva - milett
n = 0
%>
<tr>
<td bgcolor="#FFFFFF" align="center" width="50"><%=rs("Vehicle_ID")%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(5)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(4)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(3)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(2)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(1)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(0)%></td>
Jag har funderat ett tag på det här nu, men jag förstår inte hur jag skall göra, nu får jag tal som är helt mongo...
OBS! Det är alltså inte mätarställningen som man skall se här, utan det är hur många mil bilen har rullat...
Dim milett,miltre(20),Vehicle_Id,i
i = 0
Vehicle_ID = rs("Vehicle_ID")
Do until rs.eof
if i > 0 then
miltre(i-1) = rs("milage") - milett
end if
milett = rs("milage")
rs.movenext
i = i + 1
if i > 5 then exit do
loop
%>
<tr>
<td bgcolor="#FFFFFF" align="center" width="50"><%=Vehicle_ID%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(5)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(4)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(3)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(2)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(1)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(0)%></td>
------------------ essentitia preter non sans multiplicandum
Huurrmm...
Testade detta, men får ett fel meddelande som säger att antingen är EOF eller BOF Sant...märkligt, får när jag skriver ut SQL strängen så finns det ju "grejor" där i variablarna...
Så här ser det ut ungefär, eller rätt så exakt så här rättare sagt:
<!--#include file="../data/DBdata_fleet.inc"-->
<%
station = Request.Form("station")
period = Request.Form("period")
startdatum = DateAdd("m",-6,period)
response.write startdatum
strSQL = "SELECT tbl_mileage.Vehicle_ID, tbl_mileage.mileage, tbl_mileage.datum, tbl_mileage.period, tbl_current_situation.stat FROM tbl_mileage LEFT JOIN tbl_current_situation ON tbl_mileage.Vehicle_ID = tbl_current_situation.reg WHERE tbl_mileage.period Between '"&startdatum&"' And '"&period&"' AND tbl_current_situation.stat = '"&station&"' AND tbl_mileage.Vehicle_ID = 'SBG366' ORDER BY tbl_mileage.Vehicle_ID, tbl_mileage.period DESC"
response.write strSQL
rs.open strSQL, DB
%>
<html>
<head>
<title>View your mileage</title>
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="837">
<tr>
<td bgcolor="#9C0000" width="1670" colspan="11">
<p align="center"><font color="#A8A8A8" face="Arial" size="1">Montly
kilometers driven</font></td>
</tr>
</center>
<tr>
<td bgcolor="#9C0000" align="center" width="50">
<p align="center"><font color="#A8A8A8" size="1">Reg</font></td>
<center>
<td bgcolor="#9C0000" align="center" width="50"><font color="#A8A8A8" size="1">6</font></td>
<td bgcolor="#9C0000" align="center" width="50"><font color="#A8A8A8" size="1">5</font></td>
<td bgcolor="#9C0000" align="center" width="50"><font color="#A8A8A8" size="1">4</font></td>
<td bgcolor="#9C0000" align="center" width="50"><font color="#A8A8A8" size="1">3</font></td>
<td bgcolor="#9C0000" align="center" width="50"><font color="#A8A8A8" size="1">2</font></td>
<td bgcolor="#9C0000" align="center" width="50"><font color="#A8A8A8" size="1">1</font></td>
<td bgcolor="#9C0000" align="center" width="100"><font color="#A8A8A8" size="1">Current</font></td>
<td bgcolor="#9C0000" align="center" width="100"><font color="#A8A8A8" size="1">Set</font></td>
<td bgcolor="#9C0000" align="center" width="106"><font color="#A8A8A8" size="1">Start date</font></td>
<td bgcolor="#9C0000" align="center" width="106"><font color="#A8A8A8" size="1">End date</font></td>
</tr>
<%
Dim milett,miltre(20),Vehicle_Id,i
i = 0
Vehicle_ID = rs("Vehicle_ID")
Do until rs.eof
if i > 0 then
miltre(i-1) = rs("milage") - milett
end if
milett = rs("milage")
rs.movenext
i = i + 1
if i > 5 then exit do
loop
%>
<tr>
<td bgcolor="#FFFFFF" align="center" width="50"><%=rs("Vehicle_ID")%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(5)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(4)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(3)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(2)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(1)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"><%=miltre(0)%></td>
<td bgcolor="#FFFFFF" align="center" width="50"> </td>
<td bgcolor="#FFFFFF" align="center" width="100"> </td>
<td bgcolor="#FFFFFF" align="center" width="100"> </td>
<td bgcolor="#FFFFFF" align="center" width="106"> </td>
<td bgcolor="#FFFFFF" align="center" width="106"> </td>
</tr>
<% 'Next
rs.close
db.close
%>
</table>
</center>
</div>
</body>
</html>
Felet kommer på rad 56 och ser ut så här: SELECT tbl_mileage.Vehicle_ID, tbl_mileage.mileage, tbl_mileage.datum, tbl_mileage.period, tbl_current_situation.stat FROM tbl_mileage LEFT JOIN tbl_current_situation ON
tbl_mileage.Vehicle_ID = tbl_current_situation.reg WHERE tbl_mileage.period Between '2000-07-01' And '2001-01-01' AND tbl_current_situation.stat = 'ARN' AND tbl_mileage.Vehicle_ID =
'SBG366' ORDER BY tbl_mileage.Vehicle_ID, tbl_mileage.period DESC
ADODB.Field error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/gw/stk/Fleet/odometer_report.asp, line 56
Mycket text blev det här...det feta är resultatet av Response.Write strSQL...
Nää, jag blir så trött nu...har ändrat fram och tillbaka, bytt ut Vehicle_ID mot en variabel, men det fungerar helt enkelt inte. Har även lagt till kontrollen, och nu får jag ju upp "Det finns ingen data".. tusan!
Jag skall försöka förklara, men jag måste ge lite bakgrund först :-)
Min chef är bland annat ansvarig för bil flottan på ett budföretag. Han vill med hjälp av denna rapport planera för nya inköp av bilar, då måste man veta hur långt varje bil rullar osv osv.
Så långt är det inga problem, men som vanligt finns det ett men, med stort "M", så..Men:
I och med att vissa bilar rullar kortare resp längre än vad det är tänkt så måste man mycket enkelt kunna ändra vart bilen hör hemma. Därför har jag gjort en tabell som innehåller alla bilar och vilken station dom tillhör. Det finns tretton stationer.
Min rapport fungerar som så att när du skall uppdatera din mätarställning så hämtas bilarna till din station ur en tabell, men värdet sparas i en annan. Samma sak gäller när man skall dra ut rapporter. En dropdown visar vilka stationer som finns tillgängliga, samt vilka perioder. på den aktuella sidan plockas alla bilar fram ur tabell nummer två som matchar bilarna och stationen i tabell ett....hängde du med? :-)
strSQL = "SELECT tbl_current_situation.stat, tbl_mileage.Vehicle_ID, tbl_mileage.mileage, tbl_mileage.period FROM tbl_mileage LEFT JOIN tbl_current_situation ON tbl_mileage.Vehicle_ID = tbl_current_situation.reg WHERE (((tbl_current_situation.stat)='"&station&"') AND ((tbl_mileage.period) Between #"&startdatum&"# And #"&period&"# )) ORDER BY tbl_mileage.Vehicle_ID, tbl_mileage.period"
Jag använder Access. Jag har testat SQL:en i en access query, då får jag ut reg.nummer som hör till stationen mellan de perioder som jag har angivit, men när jag testar samma sql på .asp sidan så blir det pannkaka...
Jag får nog ta mig en allvarlig funderare tror jag....
------------------
Insanes numquam moriuntur.
303 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e