Code:
Moj kveri qryFakturaIzlaza izgleda ovako:
Code:
SELECT tblFakturaIzlaza.SifraFakture, tblFakturaIzlaza.SifraArtikla, tblFakturaIzlaza.Kolicina, tblArtikli.CenaArtikla, [Kolicina]*[CenaArtikla] AS KolCena
FROM tblArtikli INNER JOIN tblFakturaIzlaza ON tblArtikli.SifraArtikla = tblFakturaIzlaza.SifraArtikla;
Jos ti treba u sub formi, na AfterUppdate ovakav kod:
Code:
Private Sub Form_AfterUpdate()
Me.Parent.Recalc
End Sub
Ovo da bi se osvezio unbound text box.
Sada drugi problem. Ako uradis kako sam ti pokazao sve ce lepo da radi do momenta kad promenis cenu artikla. Zamisli da 5 januara 2005 izads nekome fakturu i cena mleka je 70 dinara, kolicina 10. Sve OK za sada. Posle pet dana cena mleka poraste na 75 dinara. Na kraju meseca dodje knjigovodja da obracuna ukupan promet i hoce da odstampa se fakture. Tvoj faktura od 5 januara pokazivace cenu od 75 dinara za litar mleka, iako si je ti izdao i naplatio 70 dinara za litar mleka. Posle tri meseca, mleko opet poskupi, na 80 dinara. sve fakture na kojima se pojavljuje mleko bice pogresne. Znaci, mora negde da se pamti cena u momentu fakturisanja. To negde treba da bude tvoja tabela Faktura Izlaza, ovako
Faktura Izlaza
1. Sifra Faktrue
2. Sifra Artikla
3. Kolicina
4. CenaNaFakturi
dodao Zidar
CenaNaFakturi se prepisuje iz tabele tblArtikli, kad god se doda novi rekord u tabelu Faktura Izlaza. To se desava kad na subformi dodas novi rekord i odaberes artikl. Po izboru artikla dakle treba prepisati trenutnu cenu iz tabele tblArtikli u tekucu fakturu. Ako se kasnije promeni cena u tabeli tblArtikli, fakture ostaju nepromenjene i ti imas u bazi podataka informaciju o ceni na fakturi.
Evo ti primer koda koji mora da se napise za subformu:
Code:
Option Compare Database
Option Explicit
Private Sub Form_AfterUpdate()
'Ovo osvezava sumu na glavnoj formi (Parent)
Me.Parent.Recalc
End Sub
Private Sub SifraArtikla_AfterUpdate()
'Moje polje (i kontrola na subformi) zove se SifraArtikla
'Prepisujemo cenu iz tblArtikli.CenaArtikla u tblFakturaIzlaza.CenaFakturisana
Me!CenaFakturisana = curKopirajCenu(Me!SifraFakture)
End Sub
Function curKopirajCenu(lngSifraArtikla As Long) As Currency
'Ova funkcija vraca cenu artikla iz tabele tblArtikli za zadatu sifru artikla
curKopirajCenu = DLookup("CenaArtikla", "tblArtikli", "SifraArtikla=" & lngSifraArtikla)
End Function
:-)