function antal_lag(div)
sql = "SELECT Anv_id FROM Users Where div = "& div &""
set rs=databas.execute (sql)
do while rs.eof <> true
x = x +1
rs.movenext
if x = 40 then
antal_lag = true
else
antal_lag = false
end if
end function
I felmeddelandet står det att den förväntar en program satts på
raden med end function.
vad menar den med det? från vad jag ser så ska allt vara rätt,
jag har skrivit ut variabeln div och jag vet att den är 15 som den ska vara.
function antal_lag(div)
sql = "SELECT COUNT(Anv_id) FROM Users Where div = "& div &" HAVING COUNT(Anv_id)=40"
set rs=databas.execute (sql)
antal_lag = (NOT rs.EOF)
end function
Förutsatt att din DBMS klarar HAVING. COUNT ska du använda i vilket fall som helst.
Det saknas en loop som avslutar do while i din kod.
function antal_lag(div)
sql = "SELECT Anv_id FROM Users Where div = "& div &""
set rs=databas.execute (sql)
do while rs.eof <> true
x = x +1
rs.movenext
loop
if x = 40 then
antal_lag = true
else
antal_lag = false
end if
end function
Det är ineffektivt att koda på det sättet som du har gjort. Det är bättre att lägga så mycket av beräkningarna som möjligt direkt i sql-koden.
function antal_lag(div)
sql = "SELECT count(Anv_id) FROM Users Where div = "& div
set rs=databas.execute (sql)
antal_lag = cint(rs(0)) = 40
end function
Skall funktionen bli sann om det är exakt 40 lag eller om det är minst 40 lag?
Kompileringsfel i Microsoft VBScript (0x800A0400)
Programsats förväntas.
på raden med end function.
jag blir galen, vad menar han?? vad vill han igentligen av mig?
function Lag2(lag1,div)
'nu ska den hämta ett motståndarlag.
sql = "SELECT nick FROM User WHERE div = "&div&" ORDER BY Anv_id"
set rs=databas.execute (sql)
do while not rs.eof
lag2 = rs.fields("nick")
if lag2 = lag1 then rs.movenext
sql = "SELECT * FROM DivMatch WHERE DivDiv = "&div&" AND DivLag1 = '"&lag1&"' AND DivLag2 = '"&lag2&"'"
set rec=databas.execute (sql)
if not rec.eof then
rs.movenext
else
end if
end function
function Lag2(lag1,div)
'nu ska den hämta ett motståndarlag.
sql = "SELECT nick FROM User WHERE div = "&div&" ORDER BY Anv_id"
set rs=databas.execute (sql)
do while not rs.eof
lag2 = rs.fields("nick")
if lag2 = lag1 then rs.movenext
sql = "SELECT * FROM DivMatch WHERE DivDiv = "&div&" AND DivLag1 = '"&lag1&"' AND DivLag2 = '"&lag2&"'"
set rec=databas.execute (sql)
if not rec.eof then
rs.movenext
end if
loop
end function