Umiddelbart er der et par metoder at gøre det på. En med 2 SQL sætninger som henter hver deres sum for 2. og 3. 1. er en sum af 2. og 3.
Det kræver så den de to SQL sætnigner har samme where del som den SQL sætning der henter data til at vise på siden samt en etra ting som gør den kun tæller nogle poster med.
'find sum for ophugget<>"" sql = "selet sum(reptotal) as antal from tabelnavn where ophugtekst is not null" set rs = Conn.Execute(SQL) sum2 = rs("antal") if isNull(rs("antal")) then sum2=0
'find sum for ophugget ="" sql = "selet sum(reptotal) as antal from tabelnavn where ophugtekst is null" set rs = Conn.Execute(SQL) sum3 = rs("antal") if isNull(rs("antal")) then sum3=0
'Find total summen sum1 = int(sum2)+int(sum3)
----------------- En anden måde er at lave 3 variable i koden sum1, sum2, sum3 og ligge reptotal når du looper igennem udskrivningen, igen sum1 er lig sum2+sum3:
sum1=0 sum2=0 sum3=0 do while not rs.EOF if rs("ophugtekst")<>"" then sum2=sum2+int(rs("reptotal")) else sum3=sum3+int(rs("reptotal")) end if sum1=sum2+sum3 .. rs.movenext loop
Du skriver ikke noget om, hvilken database det handler om, men hvis der er tale om Access burde denne SQL kunne give dig din oversigt:
SELECT SUM(reptotal) AS reptotalt, SUM(IIf(ophugtekst <> "", reptotal, 0)) AS repmedteksttotalt, SUM(IIf(ophugtekst = "", reptotal, 0)) AS repudenteksttotalt WHERE ...
Hvis det er en anden database, som ligger lidt tættere på standarden, så skal IIf udskiftes med en CASE konstruktion, som også kan variere lidt, men f.eks. kan se sådan ud:
SELECT SUM(reptotal) AS reptotalt, SUM(CASE WHEN ophugtekst <> "" THEN reptotal ELSE 0 END) AS repmedteksttotalt, SUM(CASE WHEN ophugtekst = "" THEN reptotal ELSE 0 END) AS repudenteksttotalt WHERE ...
Det virker næsten, den lister ok men den kan nu ikke liste status feltet (nok fordi if then sætningen er falsk) det er den linie du rettede for mig tidlige idag.
<% sum1=0 sum2=0 sum3=0
do while not record.EOF
if record("ophugtekst")<>"" then sum2=sum2+int(record("reptotal")) else sum3=sum3+int(record("reptotal")) end if sum1=sum2+sum3 %> </font> <table border="0" width="750" align="center"> <tr> <td width="139"><font face="Arial" color="#000000" size="1"><%response.write record("forhandlernavn")%>
</font>
</td> <td width="63"><font face="Arial" color="#000000" size="1"><% if record("ophugtekst")<>"" then response.write "<span style=""color: #ff0000;""> Ophugget</span>" else response.write "Repareret" end if %>
do while not record.EOF ophugget = record("ophugtekst") if isnull(ophugget) then ophugget="" if ophugget<>"" then sum2=sum2+int(record("reptotal")) else sum3=sum3+int(record("reptotal")) end if sum1=sum2+sum3 %> </font> <table border="0" width="750" align="center"> <tr> <td width="139"><font face="Arial" color="#000000" size="1"><%response.write record("forhandlernavn")%>
</font>
</td> <td width="63"><font face="Arial" color="#000000" size="1"><% if ophugget<>"" then response.write "<span style=""color: #ff0000;""> Ophugget</span>" else response.write "Repareret" end if %>
Eagleeye, tak for svar det virker nu, svar venligst for point.
Jeg har endnu et spg. som jeg opretter nu.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.