Har lagt in tider i access-databas och vill addrea tiderna. Använder ASP och IIS. Varför loopar du? Är det inte bättre att använda SUM() funktionen i SQL frågan? Med förslag två får jag detta felmeddelande: När jag gick igenom all asp på sidan hittade jag ett fel där jag formaterade tiden fel. Där var hela grunden till alla fel i. Jag förutsatte att datatypen i databasen är Date/Time.Addera tid med ASP och access
Exempel på tidsformat
00:55 (55 min)
02:13 (2 tim 13 min)
Jag kan ej addera tiderna, övriga tal går utmärkt att addera.
Hur gör jag?
..........
Do Until Rs.EOF
%>
<%tpasstid = Rs("passtid")%><% ToTPasstid = #ToTPasstid# + #tpasstid#%>
<%
Rs.MoveNext
Loop
..........Sv: Addera tid med ASP och access
Dim rs
Dim con
Set con = CreateObject("ADODB.Connection")
Con.Open Application("Connectionstring")
Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT SUM(passtid) AS ToTPasstid FROM TableName", Con
ToTPasstid = rs("ToTPasstid")
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
Annars är det bara att summera tid som med vanliga tal:
passtid = Rs("passtid")
ToTPasstid = ToTPasstid + tpasstid
#-teckenet använder du bara när du har en sträng i SQL för att tala om att det är datum/tid. Detta eftersom avskiljare i datum så som:
2007-05-21
05/21/2007
Tolkas som subtraction eller division.
Sv:Addera tid med ASP och access
"Annars är det bara att summera tid som med vanliga tal:
<code vb>
passtid = Rs("passtid")
ToTPasstid = ToTPasstid + tpasstid"
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: '[string: "00:00"]'
/dagbok/report.asp, rad 195 Sv: Addera tid med ASP och access
Funkar nu. Tack för mig och alla svar i denna fråga.Sv: Addera tid med ASP och access
Om du har tid i asp sidan bör du använd CDate() funktionen för att göra om dem till variant undertypen Date.
Om summan av timmar överstiger max antal 12/24 timmar. Kommer dessa att trunkeras.
Det kan då vara bra att manuellt formatera datum.
Finns trådar om det här på forumet.