Avatar billede svjensen Nybegynder
31. juli 2004 - 23:38 Der er 4 kommentarer og
1 løsning

Navngivning af variable

Jeg ønsker at lægge indholdet fra et recordset ind i et antal variable, for derefter at udskrive disse. Jeg har bare lidt problemer med at navngive variablene og kalde dem igen. Jeg forsøger at navngive dem 'kat_tekst[i]', hvor i er et stigende tal. Jeg forsøger så at genkalde dem igen vha. min for-next loop sidst i scriptet. Men det virker ikke. Hvad gør jeg galt? Jeg har en ide om, at det skyldes min navngivning af variablene.

<%first_run = true
While not rsFasteKategorier.EOF
    If first_run = true Then
        first_run = false
    Else
        response.write "<tr><td>&nbsp;</td></tr>"
    End If%>
    <tr style="color:red;"><td class=TDLeft><i><%=rsFasteKategorier("udgift_kat")%></i></td></tr>

    <%strSQLFaste = "SELECT uid, tekst, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dece, kat FROM budget_udgifter "
    strSQLFaste = strSQLFaste & " WHERE type = 'fast' AND kat = " & rsFasteKategorier("uid") & " ORDER BY sortering"
    set rsFaste = conn.execute(strSQLFaste)
    i = 0
    counter = 0
    While not rsFaste.EOF
        teksten = "<tr onmouseover='this.style.background=\'"&over_bgcolor&"\';' onmouseout='this.style.background=\'\';' onclick='location.href=\'budget.asp?area=udgifter&action=edit&uid="&rsFaste("uid")&"\'' style='color:red;'>"
        teksten = teksten & "<td class=TDLeft>"&rsFaste("tekst")&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("jan"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("feb"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("mar"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("apr"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("maj"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("jun"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("jul"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("aug"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("sep"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("okt"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("nov"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("dece"), 2)&"</td>"
        teksten = teksten & "<td class=TDRight>"&FormatNumber(rsFaste("jan")+rsFaste("feb")+rsFaste("mar")+rsFaste("apr")+rsFaste("maj")+rsFaste("jun")+rsFaste("jul")+rsFaste("aug")+rsFaste("sep")+rsFaste("okt")+rsFaste("nov")+rsFaste("dece"), 2)&"</td>"
        teksten = teksten & "</tr>"
        sum_jan_ud_fast = sum_jan_ud_fast + rsFaste("jan")
        sum_feb_ud_fast = sum_feb_ud_fast + rsFaste("feb")
        sum_mar_ud_fast = sum_mar_ud_fast + rsFaste("mar")
        sum_apr_ud_fast = sum_apr_ud_fast + rsFaste("apr")
        sum_maj_ud_fast = sum_maj_ud_fast + rsFaste("maj")
        sum_jun_ud_fast = sum_jun_ud_fast + rsFaste("jun")
        sum_jul_ud_fast = sum_jul_ud_fast + rsFaste("jul")
        sum_aug_ud_fast = sum_aug_ud_fast + rsFaste("aug")
        sum_sep_ud_fast = sum_sep_ud_fast + rsFaste("sep")
        sum_okt_ud_fast = sum_okt_ud_fast + rsFaste("okt")
        sum_nov_ud_fast = sum_nov_ud_fast + rsFaste("nov")
        sum_dec_ud_fast = sum_dec_ud_fast + rsFaste("dece")
        rsFaste.MoveNext

        kat_tekst[i] = teksten
        i = i + 1
        counter = i
    Wend
    For j = 0 To counter
        response.write kat_tekst[j]
    Next
    rsFasteKategorier.MoveNext
Wend%>
Avatar billede thesurfer Nybegynder
31. juli 2004 - 23:42 #1
Det er JavaScript metoden :-)

Gør sådan her:

kat_tekst = "" ' indsættes før loopen

kat_tekst = kat_tekst & teksten & "*" ' inde i loopen

' efter loopen:
kat_tekst = left(kat_tekst, len(kat_tekst) - 1) 'fjerner det sidste "*"

kat_tekst = split(kat_tekst, "*")

så har du en array der hedder kat_tekst, og kan bruge:

for i = 0 to ubound(kat_tekst)
  response.write kat_tekst(i)
next

Se: http://html.dk/tutorials/asp/lektion8.asp
Avatar billede thesurfer Nybegynder
31. juli 2004 - 23:45 #2
ang linien kat_tekst = kat_tekst & teksten & "*" ' inde i loopen

Tegnet "*" skal være et tegn (eller flere tegn) der ikke bruges i "teksten".

Et godt eksempel er "sadasda".. med mindre at du lige frem har skrevet "sadasda" i "teksten" :-)


Tegnet "*" er det man kalder en "separator"..
Avatar billede svjensen Nybegynder
31. juli 2004 - 23:47 #3
Perfekt. Tak for hjælpen.

Husk et svar
Avatar billede thesurfer Nybegynder
31. juli 2004 - 23:48 #4
Svar husket :-)
Avatar billede thesurfer Nybegynder
31. juli 2004 - 23:53 #5
Takker for points :-)
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