Avatar billede jens_k Nybegynder
17. oktober 2002 - 01:50 Der er 11 kommentarer og
2 løsninger

Første post er tom ved brug af Function

Hejsa..

Jeg har en asp side, hvor jeg i toppen af siden har en ASP Function til at sidde.

På siden udskriver jeg en lang liste med en masse navne på.

Når jeg så kalder min function som hedder Navn, så gør jeg det sådan her:

do while not rs.eof
Access(RS("ID"))
Reponse.Write RS("Navn")
Response.Write "<BR>"

rs.movenext
loop

Men, når den skal udskrive den første post, så får den ikke ID´et med op i functionen. De andre 100 poster som kommer ned af siden virker fint. Nogen som kan fortælle mig hvorfor den ikke får det med i den første post. Jeg har et andet sted på min side hvor jeg har samme problem. Er der noget i Function jeg har glemt generalt ?

Mvh Jens K
Avatar billede medions Nybegynder
17. oktober 2002 - 07:02 #1
Prøv at gør sådan her:

do while not rs.eof
rs.movenext
Access(RS("ID"))
Reponse.Write RS("Navn")
Response.Write "<BR>"
loop

//>Rune
Avatar billede jens_k Nybegynder
17. oktober 2002 - 07:04 #2
Jamen så hopper den første post over, det er hellere ikke meningen.

Jens K
Avatar billede medions Nybegynder
17. oktober 2002 - 07:16 #3
Hmm lad mig lige se hvordan din funktion ser ud..

//>Rune
Avatar billede jens_k Nybegynder
17. oktober 2002 - 07:32 #4
Function Access(t)

    Set RS2 = Server.CreateObject("ADODB.RecordSet")
    SQL2 = "SELECT * FROM Files where ID=" & t
    RS2.Open SQL2, strDB

    ArrAccess = Split("" & RS2("Users") & "")
   
    For i = 0 To UBound(arrAccess)
    arrSpecefikt = Split(arrAccess(i),"-")

        If int(arrSpecefikt(0)) = int(Session("UserID")) Then
            IF int(arrSpecefikt(1)) = 1 then
                Ikon = "FileIconLocked.jpg"
            ElseIF int(arrSpecefikt(1)) = 2 then
                Ikon = "FileIcon1.jpg"
            ElseIF int(arrSpecefikt(1)) = 3 then
                Ikon = "FileIcon1.jpg"
            End IF
        End IF
       
    Next
   
    Ikon = "FileIcon1.jpg"
   
    rs2.close
    Set RS2 = Nothing
 
End Function
Avatar billede jens_k Nybegynder
17. oktober 2002 - 07:33 #5
Det eneste funktion gør er at finde ud af hvilket Ikon den skal bruge. Den udskriver fint navnet fra den første post, men funktionen finder bare ikke ikonet. Og den første post er ikke anderledes end de andre poster, har også prøvet at slette den første post, så nr 2. post bliver til nr 1. Og så er det samme problem igen..

Jens K
Avatar billede medions Nybegynder
17. oktober 2002 - 07:38 #6
Set RS2 = Server.CreateObject("ADODB.RecordSet")
    SQL2 = "SELECT * FROM Files where ID=" & t
    RS2.Open SQL2, strDB

    ArrAccess = Split("" & RS2("Users") & "")
   
    For i = 0 To UBound(arrAccess)
    arrSpecefikt = Split(arrAccess(i),"-")

        If int(arrSpecefikt(i)) = int(Session("UserID")) Then
            IF int(arrSpecefikt(1)) = 1 then
                Ikon = "FileIconLocked.jpg"
            ElseIF int(arrSpecefikt(1)) = 2 then
                Ikon = "FileIcon1.jpg"
            ElseIF int(arrSpecefikt(1)) = 3 then
                Ikon = "FileIcon1.jpg"
            End IF
        End IF
       
    Next
   
    Ikon = "FileIcon1.jpg"
   
    rs2.close
    Set RS2 = Nothing

Prøv at gøre sådan her...

//>Rune
Avatar billede medions Nybegynder
17. oktober 2002 - 07:38 #7
Eller sådan her:

Set RS2 = Server.CreateObject("ADODB.RecordSet")
    SQL2 = "SELECT * FROM Files where ID=" & t
    RS2.Open SQL2, strDB

    ArrAccess = Split("" & RS2("Users") & "")
   
    For i = 0 To UBound(arrAccess)
    arrSpecefikt = Split(arrAccess(i),"-")

        If int(arrSpecefikt(i)) = int(Session("UserID")) Then
            IF int(arrSpecefikt(i)) = 1 then
                Ikon = "FileIconLocked.jpg"
            ElseIF int(arrSpecefikt(i)) = 2 then
                Ikon = "FileIcon1.jpg"
            ElseIF int(arrSpecefikt(i)) = 3 then
                Ikon = "FileIcon1.jpg"
            End IF
        End IF
       
    Next
   
    Ikon = "FileIcon1.jpg"
   
    rs2.close
    Set RS2 = Nothing

//>Rune
Avatar billede jens_k Nybegynder
17. oktober 2002 - 07:58 #8
Det virker stadig ik :(

Grunden til der står Ikon = "FileIcon1.jpg" nederst, var bare for at tvinge den til at bruge et ikon, men det virkede hellere ikke. Så det er som om den slet ikke får kaldt funktionen.

Jens K
Avatar billede medions Nybegynder
17. oktober 2002 - 09:19 #9
HOvsa det er da oxo rigtig nok! -Du kan jo ikke hive en variabel der er genereret inde i en funktion og dermed er den lokal, hevet ud så den kan bruges til normal brug.

Du er nødt til at bruge ByRef <- Via reference...

Fx.

Function Access(ByRef Ikon)

End Function

Her hiver du den lokale variabel ud af funktionen....!

Prøv med det ;o)

//>Rune
Avatar billede jens_k Nybegynder
17. oktober 2002 - 11:30 #10
Ok, kan godt være jeg er dum..

Men hvorfor virker det så ved de 99 andre poster ud af 100.. Det er kun Post nr 1 som ikke kan. De andre 99 har fine ikoner... Og det virker, da det ikke er samme ikon ved alle...

Jens K
Avatar billede medions Nybegynder
17. oktober 2002 - 15:18 #11
Set RS2 = Server.CreateObject("ADODB.RecordSet")
    SQL2 = "SELECT * FROM Files where ID=" & t
    RS2.Open SQL2, strDB

    ArrAccess = Split("" & RS2("Users") & "")
   
    For i = 0 To UBound(arrAccess)
    arrSpecefikt = Split(arrAccess(i),"-")

        If int(arrSpecefikt(i)) = int(Session("UserID")) Then
            IF int(arrSpecefikt(i)) = 1 then
                Ikon = "FileIconLocked.jpg"
            ElseIF int(arrSpecefikt(i)) = 2 then
                Ikon = "FileIcon1.jpg"
            ElseIF int(arrSpecefikt(i)) = 3 then
                Ikon = "FileIcon1.jpg"
            End IF
        End IF
       
    Next
   
    Ikon = "FileIcon1.jpg"
   
    rs2.close
    Set RS2 = Nothing

Fordi du skal bruge i istedet for 1!

//>Rune
Avatar billede jens_k Nybegynder
13. december 2002 - 11:23 #12
Det virker ikke det der, nu har jeg selvfølgelig ikke koden lige her, men når jeg kommer hjem paster jeg lige koden.

Jeg kan ikke bruge i istedet for et tal, for den skal jo have IDet for selve posten med over. Eller er det bare mig som har misforstået det med Funktioner ?

Du får lige koden når jeg kommer hjem..

Jens K
Avatar billede jens_k Nybegynder
23. marts 2003 - 15:24 #13
Jeg fik det aldrig til at virke :(
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