PplelkesMedlem sedan mars 2002823 inlägg Just nu ser koden ut
<%
pat = Request.Form("rapport")
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL = "SELECT f.FluidNamn, f.FluidID, v.Dag, v.PatID, v.Volym, v.Energi," &_
" p.ftEnamn, p.ftFnamn FROM (tblVetskebalans v INNER JOIN tblFluids f"&_
" ON v.FluidID = f.FluidID) INNER JOIN tblPersonuppgifter p ON v.PatID = p.PatID" &_
" WHERE p.PatID = "& pat &""
Set rs1 = vbalans.Execute (strSQL)
'formatera till svensk personnummer
Function SvPnr(txt)
personnummer =Left(txt,6) & " - " & Right(txt,4)
SvPnr = personnummer
End Function
Function FirstVersal(txt)
versal = UCase(Left(txt,1)) & LCase(Right(txt, Len(txt)-1))
FirstVersal = versal
End Function
Response.Write SvPnr(rs1("PatID")) & "<BR>"
Response.Write "<B>" & FirstVersal(rs1("ftEnamn")) & ", " & FirstVersal(rs1("ftFnamn")) & "</B><P><P><P>"
%>
<TABLE border=1>
<TR>
<TD><B>Datum</B></TD>
<TD><B>Vätska</B></TD>
<TD><B>Volym</B></TD>
<TD><B>Energi</B></TD>
</TR>
<%
v = 0
e = 0
dat = ""
Do While Not rs1.EOF
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
</TABLE>
<BR><BR><BR>
<%
Response.Write "<B><U>Totala volymen är</U></B>" & ": " & v & "<BR>"
Response.Write "<B><U>Totala energi är</U></B>" & ": " & e & "<BR>"
%>
Som ger följande utskrift
111111 - 1111
Elvansson, Elvan
Datum Vätska Volym Energi
2004-03-21 Blod 1000 0
Sondmat 550 275
Sondmat 550 275
Sondmat 550 275
2004-04-29 Albumin 40 mg/ml 76 0
2004-05-02 Proviva 123 0
Totala volymen är: 2849
Totala energi är: 825
Om jag istället vill sumera för alla aktuella datum - hur skulle koden se ut då?
PplelkesMedlem sedan mars 2002823 inlägg Har försökt med följande ändring (= fet-stil)
<%@ Language=VBScript LCID=1053%>
<HTML>
<title>Rapport</title>
<BODY>
<%
pat = Request.Form("rapport")
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL = "SELECT f.FluidNamn, f.FluidID, v.Dag, v.PatID, v.Volym, v.Energi," &_
" p.ftEnamn, p.ftFnamn FROM (tblVetskebalans v INNER JOIN tblFluids f"&_
" ON v.FluidID = f.FluidID) INNER JOIN tblPersonuppgifter p ON v.PatID = p.PatID" &_
" WHERE p.PatID = "& pat &""
Set rs1 = vbalans.Execute (strSQL)
'formatera till svensk personnummer
Function SvPnr(txt)
personnummer =Left(txt,6) & " - " & Right(txt,4)
SvPnr = personnummer
End Function
Function FirstVersal(txt)
versal = UCase(Left(txt,1)) & LCase(Right(txt, Len(txt)-1))
FirstVersal = versal
End Function
Response.Write SvPnr(rs1("PatID")) & "<BR>"
Response.Write "<B>" & FirstVersal(rs1("ftEnamn")) & ", " & FirstVersal(rs1("ftFnamn")) & "</B><P><P><P>"
%>
<TABLE border=1>
<TR>
<TD><B>Datum</B></TD>
<TD><B>Vätska</B></TD>
<TD><B>Volym</B></TD>
<TD><B>Energi</B></TD>
</TR>
<%
v = 0
e = 0
dat = ""
Do While Not rs1.EOF
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
End If
[B]Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" v "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" e "</TD></TR>"[/B]
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
</TABLE>
<BR><BR><BR>
%>
</body>
</html>
Men fungerar ej - tyvärr är jag på jobbet och kan inte få felutskrift...
OOveRRidEMedlem sedan feb. 200112 078 inlägg Det är säkerligen inte det som är felet, men du har iallafall konkatenerat inkorrekt.
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
PplelkesMedlem sedan mars 2002823 inlägg Tack OveRRidE blev bättre, men inte bra.
Har möblerat om i koden
<%
pat = Request.Form("rapport")
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL = "SELECT f.FluidNamn, f.FluidID, v.Dag, v.PatID, v.Volym, v.Energi," &_
" p.ftEnamn, p.ftFnamn FROM (tblVetskebalans v INNER JOIN tblFluids f"&_
" ON v.FluidID = f.FluidID) INNER JOIN tblPersonuppgifter p ON v.PatID = p.PatID" &_
" WHERE p.PatID = "& pat &""
Set rs1 = vbalans.Execute (strSQL)
'formatera till svensk personnummer
Function SvPnr(txt)
personnummer =Left(txt,6) & " - " & Right(txt,4)
SvPnr = personnummer
End Function
Function FirstVersal(txt)
versal = UCase(Left(txt,1)) & LCase(Right(txt, Len(txt)-1))
FirstVersal = versal
End Function
Response.Write SvPnr(rs1("PatID")) & "<BR>"
Response.Write "<B>" & FirstVersal(rs1("ftEnamn")) & ", " & FirstVersal(rs1("ftFnamn")) & "</B><P><P><P>"
%>
<TABLE border=1>
<TR>
<TD><B>Datum</B></TD>
<TD><B>Vätska</B></TD>
<TD><B>Volym</B></TD>
<TD><B>Energi</B></TD>
</TR>
<%
v = 0
e = 0
dat = ""
Do While Not rs1.EOF
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
</TABLE>
Resultatet är bättre, men inte bra
Jag har nog tänkt fel:
- Lista alla givna vätskor för första datumet ( dvs dat =CDate(rs1("Dag"))
- sedan skriva ut summan för volym för den dagen
- skriva ut summan energi för den dagen
- lista nästa gällande datum
PDahlenMedlem sedan apr. 2004778 inläggSkapa en "dagsvariabel" för volym och en för energi.
Ha en variabel som håller koll på "dagen innan". För varje record i din loop kollar du om aktuellt datum är samma som "dagen innan" om det inte är det skriver du ut dagstotalen, nollställer den och sätter "dagen innan" till aktuellt datum.
Om det är samma dag fortfarande plussar du på precis som du gör med totala volymen och energin.
PplelkesMedlem sedan mars 2002823 inlägg Tack för hjälpen Patrik, trodde att det var det jag gjorde med ändringarna jag komm påunder resan hem
<%
dat = ""
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
v = 0
e = 0
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
Men så är inte fallet!!!
PDahlen skrev:
Skapa en "dagsvariabel" för volym och en för energi.
det har jag väl gjort med
v = 0
e = 0
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
PDahlen skrev:
Ha en variabel som håller koll på "dagen innan". För varje record i din loop kollar du om aktuellt datum är samma som "dagen innan"
Är inte det jag gör med
dat = ""
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
Response.Write
Else
Response.Write "<TR><TD> </TD>"
PDahlenMedlem sedan apr. 2004778 inläggDu måste ju plussa på värden även när det inte är samma dag. Med andra ord efter Else
PplelkesMedlem sedan mars 2002823 inlägg Vet inte Patrik om det är så här du menar,
<%
dat = ""
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
v = 0
e = 0
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
v = 0
e = 0
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
Men det funkar ändå inte som jag vill bifogar sidan
PDahlenMedlem sedan apr. 2004778 inläggDu ska inte nollställa dagstotalerna vid Else, bara plussa på.
Sen vet jag inte riktigt vad du gör.
Du använder v och e som totala värden på slutet. Om du ska ha både dag och total så måste du ha två värden för varje.
Sen ska du skriva ut om dagen inte är samma som dagen innan och SEN nollställa.
PplelkesMedlem sedan mars 2002823 inlägg funkar ändå inte
<%
dat = ""
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
v = 0
e = 0
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
PDahlenMedlem sedan apr. 2004778 inläggNej, klart att det inte funkar. Du har inte gjort det jag skrev i mitt förra inlägg.
Dina fel.
1. Du använder samma variabler (e och v) till både dag och total
2. Du skriver inte ut några dagsvariabler innan du nollställer
PplelkesMedlem sedan mars 2002823 inlägg
- Jag skall inte ha ngr total variabler bara dags total
Du skriver inte ut några dagsvariabler innan du nollställer
Gör jag inte?
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
End If
rs1.MoveNext
ovanstående kod trodde jag betydde just detta:
- jag skriver ut variabeln
- jag flyttar mig till nästa post
- jag nollställer variablerna
PDahlenMedlem sedan apr. 2004778 inläggKolla igenom din kod.
Den utskriften ska stå INNAN du nollställer direkt efter IF-frågan som visar att nu har du bytt dag.
Som du gör nu så skriver du ut varje gång som den aktuelle dagen är samma som dagen innan.
PplelkesMedlem sedan mars 2002823 inlägg Brinkster bråkar, så jag kommer ej åt...
Menar du så här
<%
dat = ""
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
v = 0
e = 0
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
End If
Response.Write "<B><U>Totala volymen är:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Totala energi är:</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
End If
rs1.MoveNext
PDahlenMedlem sedan apr. 2004778 inläggNej, du vill ju skriva ut e och v för varje dag. Flytta upp den utskriften så den står direkt innan du nollställer e och v.
Gör även en koll om dat = "". Om det är så så skriver du inte ut eftersom det betyder att det är första dagen du är på.
PplelkesMedlem sedan mars 2002823 inlägg Ursäktamig,men jag fattar inte hur jag skall få till det...
<%
dat = ""
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
dat = CDate(rs1("Dag"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
End If
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Volym givet idag:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Givet energi</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
v = 0
e = 0
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
gerbättre utskrift,men inte bra - se bilag<
PplelkesMedlem sedan mars 2002823 inlägg Nu har jag bollat fram och tillbaka så att ajg ser i kors...
Men inte har jag kommit närmare en lösning...
PDahlenMedlem sedan apr. 2004778 inläggDu skriver fortfarande inte ut e och v för varje dag. Du har inte flyttat in utskriften och nu nollställer du inte ens dagsvärdena när du byter dag.
<%
dat = ""
v = 0
e = 0
Response.Write "<table>"
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
if not dat = "" then
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Volym givet idag:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Givet energi</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
end if
v = cint(rs1("Volym"))
e = cint(rs1("Energi"))
dat = CDate(rs1("Dag"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
End If
rs1.MoveNext
Loop
Response.Write "</table>"
vbalans.Close
Set vbalans = Nothing
%>
Använd den här koden. Jämför den med din så ser du vad du gjort för fel.
Ett tips. När en utskrift blir fel ta fram papper och penna. SKriv upp lite testdata och alla dina variabler. Stega sedan igenom koden rad för rad och skriv på pappret vad variablerna ändras till och vad som skrivs ut.
Ett litet knep som min datalärare lärde mig.
PplelkesMedlem sedan mars 2002823 inlägg Patrik, du ärlycklig du som har en datalärare -själv är jag helt obildad och hankar mig fram med hjälp av böcker och er på wf...
Koden funkade nästan... Enda är att utskriften
Volym givet idag:
Givet energi
inte hamnar på dess rätta plats, utan Ovanför tabellen. Kan du hjälpa mig med detta med*ber snällt*
Så ser koden ut
<%@ Language=VBScript LCID=1053%>
<HTML>
<title>Rapport</title>
<BODY>
<%
pat = Request.Form("rapport")
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL = "SELECT f.FluidNamn, f.FluidID, v.Dag, v.PatID, v.Volym, v.Energi," &_
" p.ftEnamn, p.ftFnamn FROM (tblVetskebalans v INNER JOIN tblFluids f"&_
" ON v.FluidID = f.FluidID) INNER JOIN tblPersonuppgifter p ON v.PatID = p.PatID" &_
" WHERE p.PatID = "& pat &""
Set rs1 = vbalans.Execute (strSQL)
'formatera till svensk personnummer
Function SvPnr(txt)
personnummer =Left(txt,6) & " - " & Right(txt,4)
SvPnr = personnummer
End Function
Function FirstVersal(txt)
versal = UCase(Left(txt,1)) & LCase(Right(txt, Len(txt)-1))
FirstVersal = versal
End Function
Response.Write SvPnr(rs1("PatID")) & "<BR>"
Response.Write "<B>" & FirstVersal(rs1("ftEnamn")) & ", " & FirstVersal(rs1("ftFnamn")) & "</B><P><P><P>"
%>
<TABLE border=1>
<TR>
<TD><B>Datum</B></TD>
<TD><B>Vätska</B></TD>
<TD><B>Volym</B></TD>
<TD><B>Energi</B></TD>
</TR>
<%
dat = ""
v = 0
e = 0
Do While Not rs1.EOF
If dat <> CDate(rs1("Dag")) then
if not dat = "" then
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Volym givet idag:</U></B>"
Response.Write "<TD>" & v & "</TD></TR>"
Response.Write "<TR><TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<TD> </TD>"
Response.Write "<B><U>Givet energi</U></B>"
Response.Write "<TD>" & e & "</TD></TR>"
end if
v = cint(rs1("Volym"))
e = cint(rs1("Energi"))
dat = CDate(rs1("Dag"))
Response.Write "<TR><TD>" & CDate(rs1("Dag"))& "</TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
Else
v = v + cint(rs1("Volym"))
e = e + cint(rs1("Energi"))
Response.Write "<TR><TD> </TD>"
Response.Write "<TD>" & rs1("FluidNamn") & "</TD>"
Response.Write "<TD>" & rs1("Volym") & "</TD>"
Response.Write "<TD>" & rs1("Energi") & "</TD></TR>"
End If
rs1.MoveNext
Loop
Response.Write "</table>"
vbalans.Close
Set vbalans = Nothing
%>
<BR><BR><BR>
</TABLE>
</body>
</html>
PDahlenMedlem sedan apr. 2004778 inläggHade en datalärare. Jag börjar ju bli gammal nu. ;)
Men när det gäller webb (ASP och .NET) så är jag självlärd från böcker. Tänket har jag dock från skolan för sättet att tänka är så gott som likadant i alla programmeringsspråk.
Böcker är bra och att koda är också bra men det viktigaste är att lära sig grunderna och sättet att tänka först. I det här fallet t.ex. så hade du behövt rita upp själva strukturen på hur det ska funka. En pseudokod, innan du skriver koden. Då hade du sett när du skulle addera, nollställa och skriva ut.
Felet du får nu är för att jag hade lagt till en </table>. Ta bort 10:e raden nerifrån. Raden direkt efter Loop där det står Response.Write "</table>"
Ett till tips. När du får ett sånt här fel i utskriften kolla sourcen i webbläsaren och felsök dina tabeller.