sum pr. mnd og år.
Scriptet er som følger. Noe som virker greit. Den summerer biler pr avdeling og antall dager en bil har vært aktiv. Er det mulig å få den til å summerer aktive pr mnd og antall dager pr mnd. Altså legge til to funksjoner?Output jeg vil ha skal bli slikt:
Department(ANavn)
JANUAR 2003
VF54423(RegNr) 21.01.2003(GjelderFra) 23.01.2003(SiOppforsikringFra) 3(AntDays)
VF54422(RegNr) 21.01.2003(GjelderFra) 23.03.2003(SiOppforsikringFra) 9(AntDays)
SUM JANUAR 12 days 2 cars
FEBRUARY 2003
VF54422(RegNr) 21.01.2003(GjelderFra) 23.03.2003(SiOppforsikringFra) 30(AntDays)
SUM JANUAR 30 days 1 car
MARS 2003
VF54422(RegNr) 21.01.2003(GjelderFra) 23.03.2003(SiOppforsikringFra) 23(AntDays)
SUM JANUAR 23 days 1 car
.....
<%
dim adoCn
dim strSQL
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open strConn
'-----------------------------------------------------------------------------
'Skriver ut alle dager på biler - START
'-----------------------------------------------------------------------------
set adoRs = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT DISTINCT BID,Regnr,ANavn,GjelderFra,SiOppForsikringFra,Aktiv,CASE WHEN SiOppForsikringFra is null THEN DateDiff(d, GjelderFra, getdate()) ELSE DateDiff(d, GjelderFra, SioppForsikringFra) END AS AntallDager FROM tblbiler,tbl" & strKundeNavn & "Avdeling WHERE FKBRAvdeling=AID ORDER BY ANAVN ASC"
set adoRs = adoCn.Execute(strSQL)
Response.Write("<table border=""1"" width=""100%"" cellpadding=""0"" cellspacing=""0"" style=""border-collapse: collapse"" bordercolor=""#000000"">")
Response.Write("<tr bgcolor=""#CC6600"">")
Response.Write(" <td colspan=""6"" align=""middle""><font face=""verdana"" size=""2"" color=""#FFFFFF""><b>RAPPORT</b></font></td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write(" <td colspan=""6"" align=""middle""> </td>")
Response.Write("</tr>")
Response.Write("<tr bgcolor=""#CC6600"">")
Response.Write(" <td><font face=""verdana"" size=""1"" color=""#FFFFFF""> <b>Avdeling</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1"" color=""#FFFFFF""> <b>Reg. Nr</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1"" color=""#FFFFFF""> <b>GjelderFra</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1"" color=""#FFFFFF""> <b>Si Opp forsikring fra</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1"" color=""#FFFFFF""> <b>Aktiv</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1"" color=""#FFFFFF""> <b>Antall dager aktiv</b></font></td>")
Response.Write("</tr>")
Dim i2
i = 0
i2 = 0
TotSum = 0
Do While Not adoRs.EOF
'Legger til et mellomrom mellom Avdelingene
If Kat <> adoRs("ANavn") Then
kat = adoRs("ANavn")
If AvSum <> 0 Then
Response.Write("<tr>")
Response.Write(" <td colspan=""5""><font face=""verdana"" size=""1""> <b>Totalt på kunden ( " & i2 & " )</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1""> <b>" & AvSum & "</b></font></td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write(" <td colspan=""6"" align=""middle""> </td>")
Response.Write("</tr>")
End if
AvSum = 0
i2 = 0
End if
Dim strdatoGjelderFra
strdatoGjelderFra = adoRs("GjelderFra")
strDay = Day( strdatoGjelderFra )
if len(strDay) = 1 then
strDay = "0" & strDay
end if
strMonth = Month( strdatoGjelderFra )
if len(strMonth) = 1 then
strMonth = "0" & strMonth
end if
strdatoGjelderFra = strDay & "." & strMonth & "." & Year( strdatoGjelderFra )
strSiOppForsikringFra = adoRs("SiOppForsikringFra")
strDay2 = Day( strSiOppForsikringFra )
if len(strDay2) = 1 then
strDay2 = "0" & strDay2
end if
strMonth2 = Month( strSiOppForsikringFra )
if len(strMonth2) = 1 then
strMonth2 = "0" & strMonth2
end if
strSiOppForsikringFra = strDay2 & "." & strMonth2 & "." & Year( strSiOppForsikringFra )
Response.Write("<tr>")
Response.Write(" <td><font face=""verdana"" size=""1""> " & adoRs("Anavn") & "</font></td>")
Response.Write(" <td><font face=""verdana"" size=""1""> " & adoRs("RegNr") & "</font></td>")
Response.Write(" <td><font face=""verdana"" size=""1""> " & strdatoGjelderFra & "</font></td>")
If Trim(strSiOppForsikringFra) = ".." Then
Response.Write(" <td><font face=""verdana"" size=""1""> Løpende</font></td>")
Else
Response.Write(" <td><font face=""verdana"" size=""1""> " & strSiOppForsikringFra & "</font></td>")
End if
Response.Write(" <td><font face=""verdana"" size=""1""> " & adoRs("Aktiv") & "</font></td>")
If adoRs("AntallDager") < 0 Then
Response.Write(" <td><font face=""verdana"" size=""1"" color=""red""> <b>" & adoRs("AntallDager") & "</b></font></td>")
Else
Response.Write(" <td><font face=""verdana"" size=""1""> " & adoRs("AntallDager") & "</font></td>")
End if
Response.Write("</tr>")
i = i + 1
i2 = i2 + 1
TotSum = TotSum + Cint(adoRs("AntallDager"))
AvSum = AvSum + Cint(adoRs("AntallDager"))
adoRs.MoveNext
Loop
If AvSum <> 0 Then
Response.Write("<tr>")
Response.Write(" <td colspan=""5""><font face=""verdana"" size=""1""> <b>Totalt på kunden ( " & i2 & " )</b></font></td>")
Response.Write(" <td><font face=""verdana"" size=""1""> <b>" & AvSum & "</b></font></td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write(" <td colspan=""6"" align=""middle""> </td>")
Response.Write("</tr>")
End if
adoRs.Close
Set adoRs = Nothing
adoCn.Close
Set adoCn = Nothing
%>
<tr>
<td> </td>
<td colspan="5"> </td>
</tr>
<tr>
<td><font face="verdana" size="1"> Total aktive dager:</font></td>
<td colspan="5"><font face="verdana" size="1"> <b><%=TotSum%></b></font></td>
</tr>
<tr>
<td><font face="verdana" size="1"> Antall kjøretøy:</font></td>
<td colspan="5"><font face="verdana" size="1"> <b><%=i%></b></font></td>
</tr>
<tr bgcolor="#CC6600">
<td><font face="verdana" size="1"> Skal gå på dato:</font></td>
<td colspan="5"><font face="verdana" size="1"> <b>Gjelder fra dato</b></font></td>
</tr>
</table>
Kanskje det er denne spørringen som må modifiseres litt?
SELECT DISTINCT
BID,Regnr,ANavn,GjelderFra,SiOppForsikringFra,Aktiv,
CASE WHEN SiOppForsikringFra is null THEN
DateDiff(d, GjelderFra, getdate())
ELSE
DateDiff(d, GjelderFra, SioppForsikringFra)
END AS AntDays
FROM
tblbiler,
tblAvdeling
WHERE
FKBRAvdeling=AID
ORDER BY ANAVN ASC
