Centar za edukaciju-BiH



#11 28.05.2012 18:12
Branestan Van mreze
Clan
Registrovan od:07.05.2012
Postovi:114


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Prije svega, hvala Vam na odgovoru.

SQL upit je tačan. Kada u prozoru Immediate prozovem funkciju ?SaldoPozitivno("neki broj") prikaže mi dobar rezultat. Međutim kada hoću da sa neke forme pozovem ovu funkciju na neki događaj, to nikako ne mogu da savladam.

Pročitao sam i onaj dio vezan za ADO konekciju ali opet ne shvatam pozivanje funkcije kad je promjenjiva deklarisana kao string (ne mogu da primijenim ni ovo Å¡to ste odgovorili pmiroslav-u Takodje se moze pozvati na neki event forme ili polja napr na on load.
=NadjiVrijednost("kupci";"Kupac";"Kupac2")
Kako ste primijetili delimiter izmedju variabli u ostalim slucajevime nije zarez ','nego tackazarez ';'..
)

Kada u tabeli imam promjenjivu koja je tipa Integer i u ovoj funkciji umjesto "String" napiÅ¡em "Integer", pozovem funkciju na način kao Å¡to ste u VB Å¡koli opisivali i sve radi odlično.

Da li se ADO mora koristiti ako je sve smješteno u istoj bazi podataka?

Izvinjavam se Å¡to Vam oduzimam vrijeme.
↑  ↓

#12 28.05.2012 19:02
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Citat:
Da li se ADO mora koristiti ako je sve smješteno u istoj bazi podataka?

Nemoras koristiti ado.
Mozes ukljuciti dao umjesto ado u referencama.
I ja to uvijek radim. Nevolim ado konekciju.
Kao se to radi.
Ako nisi koristio ado onda ga iskljucis u referencama:
Otvoris neki modul i samim tim Vb editor.
U meniju:
Tool--->References
Kada se otvori prozor odcekiras
Microsoft activX data Objects
A ukljucis
Microsoft DAO 3.51 ili neku drugu verziju dao.
Citat:
SQL upit je tačan. Kada u prozoru Immediate prozovem funkciju ?SaldoPozitivno("neki broj") prikaže mi dobar rezultat. Međutim kada hoću da sa neke forme pozovem ovu funkciju na neki događaj, to nikako ne mogu da savladam.

Primjer sa forme:
Da pretpostavim da na formi Imas polje 'pArt' ili neko drugo iz kog hoces procitati ulazni parametar pri pozivu procedure.
Pored ovog polja moras imati i polje da napises rezultat procedure SaldoPozitivno.
Eto to polje cemo zvati RezultatSalda
Sada jos trebas imati jedan komandni taster sa koga ces pozvati ovu proceduru na event on klik.
Sad mbi islo:
Dim PArt as string
Dim Rezultat

PArt=Me.Part
Znaci iz polja Part ucitavamo vrijednost u Memorijsku koja se zove Part .
Rezultat=SaldoPozitivno(PArt)
Sada Pozivamo nasu proceduru SaldoPozitivno sa ulaznim parametrom iz memorijske PArt odnosno podatak iz polja PArt.

Procedura nam vraca vrijednost u memorijsku koja se zove Rezultat.
Me.RezultatSalda=Rezultat
Sada upisujemo iz memorijske rezultat u Polje RezultatSalda vrijednost koju nam je vratila procedura.
Drugi nacin.
Mozes ti staviti ovu proceduru Direktno na polje ali onda nemozes vrsiti izmjenu podataka u tom polju
uU nasem slucaju je to polje RezultatSalda
Tada bi pisali u controlSource ovog polja:
=SaldoPozitivno([PArt])-- ako je polju ime Part

Citat:
=NadjiVrijednost("kupci";"Kupac";"Kupac2")
Kako ste primijetili delimiter izmedju variabli u ostalim slucajevime nije zarez ','nego tackazarez ';'..)
Da ako pisemo u VB editoru onda je delimiter zares ali ako se radi o Query-u tabelama i formama onda se pise TackaZarez.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#13 29.05.2012 09:12
Amelasar Van mreze
Clan
Registrovan od:07.04.2011
Postovi:262


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Tema je odlična. Pratim je. Hvala Vam na ovome.

LP
Pozdrav, Amela
↑  ↓

#14 29.05.2012 16:31
Branestan Van mreze
Clan
Registrovan od:07.05.2012
Postovi:114


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Opet ne razumijem.

Vi mi objaÅ¡njavate složene stvari, a ja se joÅ¡ mučim sa osnovama. Stavio sam najobičniju funkciju, da bude razumljivije. U polju "spoji" na događaj "On Got Focus" treba da pozovem funkciju ali ne ide...

Kao Å¡to sam ranije rekao, kad promjenjive deklariÅ¡em kao Integer mogu se snaći ali kad je u pitanju String, ne ide...

Prilozi:
Informacije o tipu datoteke za:rar  VB vjezbe.rar
Preuzimanja:285
Velicina datoteke:14.04 KB

↑  ↓

#15 29.05.2012 18:08
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Greška ti je kod spajanja stringa što si stavio navodnike
j=spoji("k","i") treba biti j=spoji(k,i) onda radi.

Ako je ovo za vježbu onda dobro ali u protivnom imaš previše koda. Da bi napravo to na formi što si htio ne trebaju ti moduli, to isto mpžeš dobiti i ovako
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Text12_GotFocus()
  2. Dim Treci As Double
  3. Dim Cetvrti As Double
  4.  
  5. Treci = Me.Text8
  6. Cetvrti = Me.Text10
  7.  
  8. Me.Text12 = Treci + Cetvrti
  9.  
  10. End Sub

PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Text22_GotFocus()
  2. Dim k As String
  3. Dim i As String
  4.  
  5. k = Me.Text18
  6. i = Me.Text20
  7. Me.Text22 = k & i
  8. End Sub

PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Text4_GotFocus()
  2. Dim Prvi As Double
  3. Dim Drugi As Double
  4.  
  5. Prvi = Me.PrviBroj
  6. Drugi = Me.DrugiBroj
  7.  
  8. Me.Text4 = Prvi + Drugi
  9.  
  10. End Sub

Također u deklaraciji modula si napisao

Function Spoji (a As String, b As String) As String

ne treba ti ovo zadnje As string. Dovoljno je

Function Spoji (a As String, b As String)

Funkciju spoji jednostavnije možeš pozvati sa

PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Text22_GotFocus()
  2. Me.Text22 = Spoji(Me.Text18, Me.Text20)
  3. End Sub

Pozdrav
↑  ↓

#16 29.05.2012 22:49
Branestan Van mreze
Clan
Registrovan od:07.05.2012
Postovi:114


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Hvala! Radi!

A zakleo bih se da sam i ovako pokušao.

Primjer je sa časova VB Å¡kole, malo sam vježbao.

Još jednom hvala svima za vrijeme koje izdvajate da, nama koji samo nešto zapitkujemo, tako detaljno odgovorite.

Pozdrav!
↑  ↓

#17 30.05.2012 00:21
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Citat:
Function Spoji(a As String, b As String) As String

Spoji = a & b

End Function
Function Spoji(a as string,b As String) As String

a as string-A variabla dimenzionisana kao string odnosno tekst i to ulazna variabla
b As String-isto kao i pradhodno
spoji -variabla deklarisana kao string
to je ovo iza zagrade as strin

ukoliko ne navedemo onda ovo Spoji ili naziv procedure koji je ujedno i izlazna variabla je variant odnosno moze bilti bilo sta.
Integer, double,single currenci, datete ili string.

Bolje je navesi sta je.
U c Jeziku se vraca vrijednost opcijom return a u vb se vraca kroz naziv procedure.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#18 30.05.2012 06:14
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Citiraj Branestan:
Još jednom hvala svima za vrijeme koje izdvajate da, nama koji samo nešto zapitkujemo, tako detaljno odgovorite.
Nemoj se ustručavati pitati. Forum za to i služi.
Pozdrav
↑  ↓

Stranice (2):1,2


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