Avatar billede chrisrj Forsker
28. april 2005 - 08:24 Der er 8 kommentarer og
1 løsning

Problem med kald af function

Jeg har et underligt problem med et kald af en funktion.

jeg kalder funktionen således:
dato = date()
id = rs("id")
nydato = cdate(rs("dato"))
samldag(dato, id, nydato)

funktionen ser således ud:
Function samldag ( startdato, monthid, slutdato )
...
...
...
End Function

Umiddelbart skulle det bare virke, men jeg får denne fejl:
Microsoft VBScript runtime (0x800A01C2)
Wrong number of arguments or invalid property assignment: 'samldag'
/spectid/wf/wmonthwf.asp, line 175

Linie 175 er så den med kaldet.

Jeg har prøve disse metoder for at kalde funktionen:
dim tester
tester = samldag(dato, id, nydato)
-
call samldag(dato, id, nydato)
-
samldag dato, id, nydato
-
call samldag dato, id, nydato

Ingen af dem virker.

Jeg har naturligvis tjekket at der er noget argumenterne, de ser således ud:
dato: 28/04/2005
id: 1413
nydato: 01/05/2005

Så hvad pokker er der galt med det??
Avatar billede gammelhat Nybegynder
28. april 2005 - 08:29 #1
hvad returnerer funktionen?
Avatar billede moejensen Nybegynder
28. april 2005 - 08:34 #2
husk at du skal returnere din værdi ved i slutningen af din funktion at skrive

samldag = variablen
Avatar billede chrisrj Forsker
28. april 2005 - 08:34 #3
Min funktion returnerer ikke noget.
Avatar billede chrisrj Forsker
28. april 2005 - 08:36 #4
Jeg kan godt vise jer funktionen, hvis det skulle gøre det nemmere:

Function samldag ( startdato, monthid, slutdato )

dim dagstart
dim dagslut, sql, ugedag
dagstart = cdate(startdato)
dagslut = cdate(slutdato)

    do while cdate(dagstart) <= cdate(dagslut)
        'response.write weekday(dagstart) & "<br>"
        ugedag = weekday(dagstart)
        if ugedag = 2 then
            'response.write "Mandag " & dagstart & "<br>"
            sql = "insert into workday (name, workmonthid, dato) values('Mandag', "&monthid&", "&cdate(dagstart)&")"
            response.write sql
            response.end
        elseif ugedag = 3 then
            response.write "Tirsdag " & dagstart & "<br>"
        elseif ugedag = 4 then
            response.write "Onsdag " & dagstart & "<br>"
        elseif ugedag = 5 then
            response.write "Torsdag " & dagstart & "<br>"
        elseif ugedag = 6 then
            response.write "Fridag " & dagstart & "<br>"
        elseif ugedag = 7 then
            response.write "Lørdag " & dagstart & "<br>"
        elseif ugedag = 1 then
            response.write "Søndag " & dagstart & "<br>"
        end if
        'response.write dagstart & "<br>"
        dagstart = dagstart + 1
    loop

response.write "slut"

End Function
Avatar billede chrisrj Forsker
28. april 2005 - 08:38 #5
Forøvrigt, kaldet til funktionen står i en anden funktion, der står lige ovenover.
Men betyder vel ikke noget?
Avatar billede chrisrj Forsker
28. april 2005 - 08:42 #6
Jeg da også fortælle at det virkede fint, da jeg havde den i en anden fil, og kaldte den således:

if request("test") <> "" then
    call samldag(request("test"), request("test2"))
end if

Her var der dog ikke noget id...
Avatar billede chrisrj Forsker
28. april 2005 - 09:04 #7
Problemet er løst. jeg havde en anden funktion med samme navn i en anden fil... :(
Avatar billede moejensen Nybegynder
28. april 2005 - 09:09 #8
hvad er det du forsøger at gøre i din funktion?
Avatar billede chrisrj Forsker
28. april 2005 - 11:59 #9
Det er en "Opret arbejdsdage" funktion :)

Det er dog kun halvfærdig :)
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