17. oktober 2002 - 01:50Der 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 ?
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
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..
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
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
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.
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....!
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...
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
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 ?
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.