Cilj je da se cena proizvoda izracunava na osnovu kolicine i cene potrosnog materija koji se koristi pri izradi istog.
Prva f-ja CalcVrednost je OK isprobao sam je u Immediate prozoru.
Problem je ova druga, kada hocu da je probam u Immediate prozoru pojavi se greska: "Too Few Parameters Expected 2" ...
Funkciju CenaGP(cena gotovog proizvoda) postavim na After_Update obrasca Normativ
koji se popunjava kolicinom i cenom repro materijala i vrednoscu ProizvodID (za koji proizvod se radi normativ).
Code:
Public Function CalcVrednost(intKolicina As Integer, curCena As Currency) As Currency
Dim curvrednost As Currency
CalcVrednost = 0
curvrednost = intKolicina * curCena
CalcVrednost = curvrednost
End Function
Public Function CalcVrednost(intKolicina As Integer, curCena As Currency) As Currency
Dim curvrednost As Currency
CalcVrednost = 0
curvrednost = intKolicina * curCena
CalcVrednost = curvrednost
End Function
Code:
Public Function CenaGP(ProizvodID As Long) As Currency
Dim dbs As Database
Dim objStavkeNormativa As New ADODB.Recordset
Dim SQLstmt As String
Set dbs = CurrentDb
CenaGP = 0
SQLstmt = "SELECT proizvodID,Sum(CalcVrednost(NZ(intKolicina,0),NZ(curCena,0))) " & _
" AS CenaProizvoda FROM tblReproMaterijal INNER JOIN tblNormativ ON tblReproMaterijal.RMID = tblNormativ.RMID " & _
"GROUP BY tblNormativ.ProizvodID HAVING (tblNormativ.ProizvodID) = " & ProizvodID
Set objStavkeNormativa = dbs.OpenRecordset(SQLstmt)
' objStavkeNormativa.Open SQLstmt, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
(ako umesto gornjeg reda izvrsim ovaj, opet javi gresku: no value given for one or more required parameters)
If Not objStavkeNormativa.EOF Then
CenaGP = Nz(objStavkeNormativa!CenaProizvoda, 0)
End If
objStavkeNormativa.Close
Set objStavkeNormativa = Nothing
End Function
Public Function CenaGP(ProizvodID As Long) As Currency
Dim dbs As Database
Dim objStavkeNormativa As New ADODB.Recordset
Dim SQLstmt As String
Set dbs = CurrentDb
CenaGP = 0
SQLstmt = "SELECT proizvodID,Sum(CalcVrednost(NZ(intKolicina,0),NZ(curCena,0))) " & _
" AS CenaProizvoda FROM tblReproMaterijal INNER JOIN tblNormativ ON tblReproMaterijal.RMID = tblNormativ.RMID " & _
"GROUP BY tblNormativ.ProizvodID HAVING (tblNormativ.ProizvodID) = " & ProizvodID
Set objStavkeNormativa = dbs.OpenRecordset(SQLstmt)
' objStavkeNormativa.Open SQLstmt, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
(ako umesto gornjeg reda izvrsim ovaj, opet javi gresku: no value given for one or more required parameters)
If Not objStavkeNormativa.EOF Then
CenaGP = Nz(objStavkeNormativa!CenaProizvoda, 0)
End If
objStavkeNormativa.Close
Set objStavkeNormativa = Nothing
End Function
Verovatno gresim u prosledjivanju parametara funkciji "CenaGP" jer SQL radi.