Centar za edukaciju-BiH


Stranice (2):1,2

#11 07.08.2013 13:53
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Ovo sam pitao zato što vidim da se u Ms Accessu unutar Modula koriste uglavnom Procedure koje se zovu Function
Zanima me dali se unutar modula može koristiti Sub procedura i ako može u kojim slučajevima. Daj neki primjer.
Pozdrav
↑  ↓

#12 07.08.2013 17:05
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Naravno da moze.
Ja licno pisem uvijek function kada dajem primjer iz razloga da nekome nebi trebala dorada odnosno da hoce vratiti neku vrijednost.
Ukoliko ne vraca nikakvu vrijednost slobodno je mozes prepraviti u sub svaki i sve ce da radi.
Vidis ova tema izgleda nece biti djaba.
Nesto ce se i nauciti u njoj.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#13 07.08.2013 20:02
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
U primjeru sam napisao jednu jednostavnu proceduru koja ne vraća nikakvu vrijednost nego samo izvršava neku radnju.
DoCmd.OpenReport
Jednom kao Sub na formi, drugi puta kao Function u modulu i treći puta kao Sub u modulu.
Svaku proceduru pokrećem klikom na dugme.
Zašto je kod Sub procedure iz modula greška?

Prilozi:
Informacije o tipu datoteke za:rar  ProcedureMP.rar
Preuzimanja:303
Velicina datoteke:11.19 KB


Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 07.08.2013 20:06 od strane pmiroslav. ↑  ↓

#14 07.08.2013 20:08
Getsbi Van mreze
Moderator
Registrovan od:04.02.2009
Postovi:128


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Tema nije beskorisna. Polako bi mogli da je zaključimo. Moraću malo da se korigujem sa tvrdnjom da

"...Ovako nešto ne postoji:

Function functionname ()
statements
EndFunction..."


Ipak je u programiranju moguće. Razlika između matematičke funkcije, iza koje sam ja stao na početku ove teme i programske funkcije postoji. Ova druga bi mogla da vrati vrednost, a da ne traži argument, dok matematičke traže argument.

Dakle, osnovna razlika između procedura i funkcija je u tome što Function vraća vrednost kroz ime funkcije, a Sub ne vraća ništa osim što odrađuje posao. Neka Sub traži parametre, druga ne. Punjenje neke varijable, kroz Private Sub ili Public Sub nije isto što i vraćanje vrednosti.

Još neke stvari su me nagnale da delom korigujem mišljenje. U matematici se sve posmatra statički dok je programiranje dinamičko. Matematika ne priznaje:

f(X)=f(X+1)
ili još bolje u matematici je jeres napisati:
a=a+1
dok je takav iskaz u programiranju uobičajen.

Jedino pri čemu ostajem, da bi obavezno trebalo pisati Sub tamo gde se ne vraća neka vrednost, a sintakasa VBA dozvoljava da napišete i Function. Ovo bi unelo malo vise reda u pisanje programskog kooda.
Ovaj post je ureden 2 puta. Posljednja izmjena 07.08.2013 20:10 od strane Getsbi. ↑  ↓

#15 08.08.2013 08:10
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Nisam dobio ni odgovor na pitanje iz posta #13
Pozdrav
↑  ↓

#16 08.08.2013 11:51
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Posto si napisao na on klik =PrintajS() a sub ne vraca nikakav rezultat i prema tome nemoze biti jednako nicemu.
Otvori proceduru na on klik i iz nje pozovi i radit ce.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#17 08.08.2013 12:58
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
OK sada mi je jasno. na trećem dugmetu napisao sam

Private Sub Command3_Click()
PrintajS
End Sub

i sada radi. Znači to je primjer kako istu radnju napraviti na tri načina. Sub procedurom na formi, Funkcijom u modulu i Sub procedurom u modulu
Pozdrav
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 5: 25 pm.