Imas dakle tri nivoa Kupac --- ima nekoliko --< Stavke ---- a svaka stavka ima nekoliko -- Spajanja
Proble je logicki resen, tabele su ti dobro 'spojene' koliko vidim iz dijagrama relacija. Fino. Kako sada programski resiti da za jednog 'Kupca' mozes da dodas koliko god hoces 'Stavki', i onda za svaku stavku koliko god hoces 'Spajanja'?
Parent-Child se resava parom GlavnaForma--->Subforma. Pod subformom podrazumevam bound kontrolu na glavnoj formi. Ocigledno je da ti treba GlavnaForma_Kupci i subforma_Stavke, povezane preko Kupci.ID = Stavke.ID.
1. Napravi formu GlavnaForma_Kupci koja je u Form view, a i formu subforma_Stavke koja je je u DatasheetView
Sad na GlavnaForma_Kupci dodoas formu subforma_Stavke ipovezes je (Link Master.Child field properties)
2. dalje napravi novu glavnu formu, GlavnaForma_stavke, koja ima na sebi sve sto zelis da vidis o stavki, u Form view. Pazi, ovo nije ista forma kao subforma_Stavke , treba ti kompletna nova forma.
3. Napravi formu u datasheet view subforma_Spajanja, koja ce biti u continiouus form view. Neka izgleda kao ono sto si nam dao na slici (gde su dugmad Vise/Manje).
Onda nju navuces na GlavnaForma_stavke i spojis ih preko tblStavke.RB = tblSpajanja.BrojStavke
Kako ce sad ove dve Glavne forme da rade zajedno? Za GlavnaForma_Kupci i subforma_Stavke sve je ocigledno, foma i subforma, kao Racun/Stavke racuna. Samo kucas i vozis. Stos je da za izabranu stavku otvoris u novom prozoru formu GlavnaForma_stavke. To je lako. Neka subforma_Stavke dobije kod na DoubleClick na polju Rb (to ti je PK za tblStavke, je l' tako). Dakle, na subforma_Stavke .Rb u OnDoubleClick napises jednu liniju koda ovako nekako:
Code:
sub Rb_OnDoubleClick()
'(Posto si profesionalac, ti ces naravno da dodas error handling i komentare)
Docmd.OpenForm FromName:="GlavnaForma_stavke",WhereCondition:= "Rb = " & me!Rb
end sub
Otvorice se u posebnom prozoru GlavnaForma_stavke, za bas onu stavku koja je tekuca na subforma_Stavke. GlavnaForma_stavke ima na sebi subformu, koja izgleda bas kao ono sto si dao an slici "Spajanje i dupliranje iverala". samo ti ne trebaju oni dugmiic za manje-vise. Uvek ces imati "related record u tblStavke" tako da ti se ona greska nikad nece javiti. Jedino ces verovatno izgubiti ono Resize, ali to ni ne treba u sustini. Ako ces d aradis spajanje, onda je lepo da se vidi sta ti treba. Ako neces, sva ce polja biti prazna i gotovo.
Sad polako na pocetak i citaj recenicu po recenicu jos jedamput i polako pocni da radis.