Avatar billede peterlang Nybegynder
09. august 2001 - 03:39 Der er 5 kommentarer og
3 løsninger

flere værdier i funktion

Hvorfor kan jeg ikke tage flere værdier ind i min funktion?

funktion lavnoget(x,y)
bla. bla. bla.
end funktion
------------------
Private Sub knap_Click()
lavnoget (\"tekst1\", \"tekst2\")
End Sub
Avatar billede mugs Novice
09. august 2001 - 06:42 #1
Jeg er ikke helt sikker på hvad du mener. Men følgende procedüre tildeler værdien til felterne som anført. Hvis du har numeriske felter, skal der ikke være \"\" omkring data.

Private Sub Kommandoknap8_Click()
tekst1 = \"A\"
tekst2 = \"B\"
tekst3 = \"C\"
tekst4 = \"D\"
End Sub

Mvh / Mugs
Avatar billede proaccess Nybegynder
09. august 2001 - 07:53 #2
Det kan du da også...

Function lægSammen(x As Long, y As Long) As Long
  lægSammen = x + y
End Function

Sub Test()
  MsgBox lægSammen(2,8)
End Sub

Når du kører Test, skulle der da gerne komme en msgbox med resultatet 10!!!
Avatar billede mugs Novice
09. august 2001 - 08:45 #3
Øh - er der noget jeg har misforstået?
proaccess > måske du kan forklare det?

Mvh / Mugs
Avatar billede proaccess Nybegynder
09. august 2001 - 08:57 #4
Det jeg mener med mit \"indlæg\" er at en funktion kan modtage flere værdi\'er, men kun returnere max. een værdi.

Hvad der laves under funktionen (fx. som med Mugs\' tekst-felter) har intet med argumenterne at gøre... (medmindre de afgøres på en beregning af disse)
Avatar billede mugs Novice
09. august 2001 - 09:06 #5
Så lærte jeg også noget nyt idag. Tak.

Mugs
Avatar billede johs_j Novice
09. august 2001 - 10:22 #6
>>peterlang
function lavnoget(x,y)
bla. bla. bla.
\'Det du mangler her i din funktion er at tildele
\'funktionen en slutværdi. Desuden skal Function staves med c og ikke med k.
lavnoget=x*y
end function
------------------
Private Sub knap_Click()
lavnoget (\"tekst1\", \"tekst2\")
End Sub
Avatar billede johs_j Novice
09. august 2001 - 10:25 #7
Nu kan jeg se at det er to tekster din procedure sender til functionenog de kan selvfølgelig ikke ganges med hinanden, men man kan også skrive:

lavnoget=y + y
eller
lavnoget= x & y
Avatar billede nuno Nybegynder
09. august 2001 - 11:17 #8
funktion lavnoget(x,y)
bla. bla. bla.
end funktion
------------------
Private Sub knap_Click()
lavnoget (\"tekst1\", \"tekst2\")
End Sub


du mangler lidt hist og pist

bl.a. returværdi på funktionen og returdatatype
desuden skal du enten kalde funktionen ved at tildele returvædien til en variabel eller vha. Call function

Derfor kan du istedet gøre dette:


Function lavnoget(x As String, y As String) As String
    doStuff = x & y
End Function

Private Sub Command1_Click()
    NyVariabel = lavnoget(\"xx\", \"yy\")
    MsgBox NyVariabel
End Sub


så tildeler du funktionens returværdi til variablen NyVariabel og viser den vha. en msgbox

eller du kan



Dim NyVariabel2 As String

Function lavnoget(x As String, y As String) As String
    NyVariabel2 = x & y
    lavnoget = NyVariabel2
End Function


Private Sub Command1_Click()
    NyVariabel2 = \"aabb\"
    MsgBox \"NyVariabel2 før funktionskald : \" & NyVariabel2
    Call lavnoget(\"xx\", \"yy\")
    MsgBox \"NyVariabel2 efter funktionskald : \" & NyVariabel2
End Sub


men så benytter du ikke funktionens evne til at returnere en værdi - og kunne ligeså godt have brugt en Sub - medmindre du bruger funktionens returværdi andetsteds.


/nuno
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