Dakle, imam main formu i na njoj subformu. Sve sto hocu je, da napravim polje na mainformi koje ce sumirati odredjeno polje na subformi.
Prvo sam probao:
Code:
Sum([Data]![Kolicina])
Sum([Data]![Kolicina])
gdje je Data ime subforme. Access vraca #Error.
Onda sam probao:
Code:
Sum([Data].[Form]![Kolicina])
Sum([Data].[Form]![Kolicina])
Opet #Error.
Kada na main formi samo referenciram polje sa subforme:
Code:
[Data].[Form]![Kolicina]
[Data].[Form]![Kolicina]
kulturno dobijem vrijednost polja kolona u prvom zapisu seta zapisa subforme.
Onda sam reka, e neces vala, pa sam se malo potrudio i dobio runaround:
Code:
Function NabavnaVrijednost(id As Integer) As Double
Dim Rst As Recordset
Dim strsql As String
strsql = "SELECT SUM([Kolicina]*([Fakt_cijena]*(100-[Rabat%])/100*(100+[Zav_tr%])/100)) AS NabV "
strsql = strsql + "FROM Kalkulacije INNER JOIN Data ON Kalkulacije.ID_Kalkulacija = Data.FK_Kalkulacija "
strsql = strsql + "WHERE Data.FK_Kalkulacija = " + CStr(id)
Set Rst = CurrentDb.OpenRecordset(strsql)
NabavnaVrijednost = Rst!NabV
End Function
Function NabavnaVrijednost(id As Integer) As Double
Dim Rst As Recordset
Dim strsql As String
strsql = "SELECT SUM([Kolicina]*([Fakt_cijena]*(100-[Rabat%])/100*(100+[Zav_tr%])/100)) AS NabV "
strsql = strsql + "FROM Kalkulacije INNER JOIN Data ON Kalkulacije.ID_Kalkulacija = Data.FK_Kalkulacija "
strsql = strsql + "WHERE Data.FK_Kalkulacija = " + CStr(id)
Set Rst = CurrentDb.OpenRecordset(strsql)
NabavnaVrijednost = Rst!NabV
End Function
pa zeljenom polju na main formi postavim datasource na
Code:
NabavnaVrijednost([ID_Kalkulacija])
NabavnaVrijednost([ID_Kalkulacija])
I to nekako radi, ali se mora ukljucivat dodatna logika tipa sta kad nema kljuca (novi zapis) ili slicno, a tek kako je zamorno pisat izraz za sumu (cca 15 min).
Kako da se rijesim dodatnog posla, valjda ima nacina da Access sam racuna te sume sa subforme...
Pozdrav i hvala.