Avatar billede betting Nybegynder
10. marts 2004 - 10:56 Der er 1 kommentar og
1 løsning

Hvordan lægger jeg tallene i en kollonne sammen

Jeg vil gerne udskrive en tabel som følgende:

http://www.cybertech.dk/Test/testtabel.jpg

Jeg kan dog problemer med sidste linie, som summer tallene for januar, februar etc.

Har du et bud på hvordan det kan lade sig gøre

Min kode til første del af tabellen er følgende:
_________________________________________________________________

Dataudtræk:
'Opretter forbindelse
Set indskudcon = Server.CreateObject("ADODB.Connection")
indskudDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
indskudDSN = indskudDSN & "DBQ=" & Server.MapPath("../../scripts/Scanplan.mdb")
indskudcon.Open indskudDSN

indskudSQL = "SELECT t_kunder.knr, t_kunder.fornavn, t_kunder.efternavn, t_investeringer.andele, t_investorindskud.aar, t_investorindskud.mdr, t_investorindskud.indskud, t_investeringer.ks, t_investeringer.investor_type FROM (t_kunder INNER JOIN t_investeringer ON t_kunder.knr=t_investeringer.knr) INNER JOIN t_investorindskud ON t_kunder.knr=t_investorindskud.knr WHERE (((t_investorindskud.aar)=2004) AND ((t_investeringer.ks)="& ksid &") AND ((t_investorindskud.ks)="& ksid &"));"
Set RS = indskudcon.Execute(indskudSQL)

ASP:

<% If RS.EOF Then%>
                            <tr>
                                <td bgcolor="#D4D4DB"><img src="Img/Spacer.gif" width="15" height="13" alt="" border="0"></td>
                                <td bgcolor="#ffffff" colspan="17" align="center" nowrap><br><b class="red">Der er ikke dannet invester indskud endnu.</b><br><span class=""><a href="PBS/OpretAar.asp" onClick="NewWindow(this.href,'OpretAar','400','300','no','center');return false" onFocus="this.blur()"><b>Dan år</b> klik her</a></span><br><br></td>
                            </tr>
                        <%else
                        kunde1=0
                        kunde2=0

                    while not RS.EOF
                    If not kunde1=kunde2 then
                    kunde1= RS("knr")
    ' Udskriv de første to felter med personoplysninger

    Response.Write "<tr><td bgcolor=""#D4D4DB""><img src=""Img/RetWhite.gif"" width=""15"" height=""13"" border=""0""></td>"
    Response.Write "<td bgcolor=""#ffffff"" nowrap>" & RS("fornavn")& "&nbsp;" & RS("efternavn") & "</td>"
    Response.Write "<td bgcolor=""#ffffff"" align=""right"">" & RS("andele") & "&nbsp;% </td>"


'Hent investorindskud pr. månede
investorSQL = "SELECT t_investorindskud.* FROM t_investorindskud WHERE (((t_investorindskud.ks)="& ksid &") AND ((t_investorindskud.aar)=2004) AND ((t_investorindskud.knr)="&RS("knr")&"))ORDER BY t_investorindskud.mdr;"
   
Set RSInvestor = indskudcon.Execute(investorSQL)   
   
Totali_ra = 0
       
While not RSInvestor.EOF
indskud_regn=RSInvestor("indskud")
Response.Write "<td bgcolor=""#ffffff"" align=""right"">" & Replace(FormatCurrency(RSInvestor("indskud"),0), "kr", "")& "</td>"
           
Totali_ra = Totali_ra + indskud_regn
RSInvestor.MoveNext
wend   
RSInvestor.Close
       
'Beregninger til de sidste tre kolonner i tabellen
       
IF NOT RST.EOF then
aarstot_rai=RST("total")
else
end if
        aartot_kunde = aarstot_rai/12
        tillaeg_ra= aartot_kunde-Totali_ra
                       
Response.Write "<td bgcolor=""#ffffff"" align=""right"">" & Replace(FormatCurrency(totali_ra,0), "kr", "")& "</td>"
Response.Write "<td bgcolor=""#ffffff"" align=""right"">" & Replace(FormatCurrency(aartot_kunde,0), "kr", "")& "</td>"
Response.Write "<td bgcolor=""#ffffff"" align=""right"">" & Replace(FormatCurrency(tillaeg_ra,2), "kr", "")& "</td>"
   
Response.Write "</tr>"
    end if
    RS.MoveNext
    if not RS.EOF then
    kunde2= RS("knr")
    else
    end if
    wend
RS.Close               
%>
Avatar billede ldanielsen Nybegynder
10. marts 2004 - 12:50 #1
Det letteste er at tælle det sammen i asp'en, en anden løsning er at trække tallene ud af databasen. Men jeg gætter på at du ikke er så hård til SQL. 

Lav 12 variabler:
Dim Sum1, Sum2, Sum3, ....

Sæt dem alle til 0:
Sum1 = 0
Sum2 = 0
Sum3 = 0

efter linien While not RSInvestor.EOF laver du en select case

Select Case RSInvestor("mdr")
  Case 1 : Sum1 = Sum1 + RSInvestor("indskud")
  Case 2 : Sum2 = Sum2 + RSInvestor("indskud")
  Case 3 : Sum3 = Sum3 + RSInvestor("indskud")
  ....

End Select

når du er færdig vil variablerne indeholde de samlede tal

Der vil kunne være problemer med datatyper mm. så lad mig vide hvis det ikke spiller
Avatar billede nute Nybegynder
10. marts 2004 - 17:17 #2
Princippet er forklaret i mit indlæg @ 10/03-2004 13:13:21 i denne thread:

http://www.eksperten.dk/spm/472507

/nute
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester