Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Poziv funkcije iz različitih formi
pmiroslav 16.02.2013 09:15
Predmet:Poziv funkcije iz različitih formi

Imam Public Function Racun() koju bit trebao pozivati sa viÅ¡e različitih formi

e sada u toj funkciji imam nekoliko varijabli koji bi se trebale mijenjati u odnosu sa koje forme se poziva

Primjer:

Dim id As String

ako se Poziva se sa frmOtpremnica
id = "BrojRacuna='" & Form_frmOtpremnica.OrderID & "'"

rs.Fields("ID_RAC") = Form_frmOtpremnica.OrderID
Form_frmOtpremnica.OIB = OibOp()

ako se Poziva se sa frmRacunUsluge
id = "BrojRacuna='" & Form_frmRacunUsluge.OrderID & "'"
rs.Fields("ID_RAC") = Form_frmRacunUsluge.OrderID
Form_frmRacunUsluge.OIB=OibOp()

i slično

zxz 16.02.2013 09:48
Predmet:Re: Poziv funkcije iz različitih formi

Neznam kako dalje ide procedura i dali sta vraca kao rezultata ali evo:

-Procedura treba da stoji u nekom modulu koji nije vezan za forme
-Da ima ulazni parametar id jer on je promjenjljiv.
Public Function Racun(ID as String)

Sada ako pozivas sa frmOtpremnica Ide:

Dim IdRac as string

IdRac="BrojRacuna='" & Form_frmOtpremnica.OrderID & "'"

Call Racun(IdRac) ili pak

Dim NekaVar

Nekavar=Racun(IdRac)
Ako procedura treba da vrati neki rezultat.

pmiroslav 16.02.2013 12:42
Predmet:Re: Poziv funkcije iz različitih formi

Možda me nisi razumio.
Imam dvije forme
frmOtpremnica i frmRacunUsluge
sa obje forme bih trebao pozivatu istu proceduru koja je u modulu.
Modul treba pokupiti nekoliko vrijednosti sa forme i prema tome bi modul trebao znati sa koje od te dvije forme da uzima podatke. Dakle koja forma je aktivna
.

zxz 16.02.2013 13:09
Predmet:Re: Poziv funkcije iz različitih formi

Postavi cijelu proceduru.

pmiroslav 16.02.2013 14:10
Predmet:Re: Poziv funkcije iz različitih formi

Otprilike ovako nekakav kod:

PreuzmiIzvorni kôd (vbnet):
  1. Public Function PripremaRacun() As String
  2. Dim db As DAO.Database
  3. Dim rs As DAO.Recordset
  4. Dim SQL As String
  5. Set db = CurrentDb
  6. SQL = "SELECT * FROM Racuni"
  7. Set rs = db.OpenRecordset(SQL)
  8.         rs.AddNew
  9.             rs.Fields("DATUM") = Form_frmOtpremnica.datum  '(Ovo se mijenja ovisno sa koje forme se poziva)
  10.             rs.Fields("ID") = Form_frmOtpremnica.OrderID    '(Ovo se mijenja ovisno sa koje forme se poziva)
  11.             rs.Fields("OIB_OPER") = Form_frmOtpremnica.OrderID '(Ovo se mijenja ovisno sa koje forme se poziva)
  12.             rs.Fields("BrojRac") = Form_frmOtpremnica.FiskalniBr '(Ovo se mijenja ovisno sa koje forme se poziva)
  13.             rs.Update
  14.             rs.Requery
  15.          rs.Close
  16.          On Error Resume Next
  17.         Form_frmOtpremnica.Oznaka = "Proslo"  '(Ovo se mijenja ovisno sa koje forme se poziva)
  18.         Form_frmOtpremnica.Oznaka.Requery
  19. End Function

dex 16.02.2013 18:00
Predmet:Re: Poziv funkcije iz različitih formi

Trebalo bi na svim formama komponentama iz kojih se uzimaju podaci postaviti svojstva tag (isto svojstvo za isti podatak), a onda iz VB-a pozvati podatak iz aktivne forme sa zeljenim svojstvom tag.

Samo nazalost ja to ne umem da slozim gramaticki ispravno Disappointed

pmiroslav 16.02.2013 18:43
Predmet:Re: Poziv funkcije iz različitih formi

Ja sam opet probao nešto kao:

Public Function PripremaRacuna (stFormName As String)
itd..
pa onda...
rs.Fields("DATUM") = stFormName.datum
itd...

i sada sa forme pozivam funkciju

Call PripremaRacuna ("frmOtpremnica") 'ili več neÅ¡to Å¡to prepoznaje naziv forme?

ali me to ne sluša i ne znam dali je tako ispravno.

Ovo a tagovima neznam.

Evo i primjer
Prilozi:
primjer.rar (Velicina datoteke:43.15 KB)

zxz 16.02.2013 22:05
Predmet:Re: Poziv funkcije iz različitih formi

Ovo ti je najbolje da napravis dvije zasebne procedure.
Ako bude jedna imala bi mnogo ulaznih prametara.
Znaci napravis dvije i to na modulima formi.