Oba resenja koriste unbound kontrole za podatke o kupcu. Jasno kao dan - odaberes kupca, a onda se njegovi podaci prepisu u unbound polja. Pretpostavljam da neces podatke o kupcu da cuvas u tabeli Racuni, osim Kupac_ID.
Posto su polja unbound, kad predjes na novi rekord, ta polja zadrzavaju stare vrednosti, koje si postavio u prethodnom rekordu. Treba znaci nekako isprazniti ta polja pri prelasku ne novi rekord. Mozes da koristi formin OnCurrent event , ovako otprilike:
Code:
Private Sub Form_AfterUpdate()
' Update ShipTo controls based on value selected in CustomerID combo box.
'Clear the values
Me!ShipName = NULL
Me!ShipCity = NULL
Me!ShipRegion = NULL
Me!ShipPostalCode = NULL
Me!ShipCountry = NULL
End Sub
Ovaj kod se komlikuje kad hoces da na postojecim rekordima visis podatke o Customerima. Treba na OnCurrent odvojeno posmatrati New i Existing records itd..
Medjutim, postoji resenje koje ne zahteva programiranje uopste. Za svako od zelenih polja postavis po jedan combo box na formu:
cboShipName, cboShipCity, cboShipRegion, cboShipPostalCode itd.
Svi imaju DtaSource = CustomerID (postali su bound polja)
Za njih stavis sve da je RowSourceType=Table/Query i neka budu ovo RowSource properties:
cboShipName RowSource = "SELECT CustomerID, ShipNAme FROM tblCustomers"
cboShipCity RowSOurce = "SELECT CustomerID, ShipCity FROM tblCustomers"
cboShipRegion RowSource= "SELECT CustomerID, Shipregion FROM tblCustomers"
Onda za svaki od ovih combo boxova postavis
Column Count=2,
Column Widths = 0;4
Column widths ce da sakrije prvu kolonu a da prikaze DRUGU, sa informacijom koja tebi treba.
Jos treba da postavis na sve ove combo boxove Locked=TRUE, da ih ne bi koristo za biranje. Glavni, cboCustomer osatvi kakav je bio - iz njega biras svog Customera.
Kad se pomeris na sledeci rekord, ako je novi rekord, svi cbo ce biti prazni (ono sto ti treba ;). Kad potavis formu na neki postojeci rekord, videces sve podatke za odgovarajuceg Customera.
Broj linija programskog koda = 0.
Ako ti trebaju podaci o ustomeru na print kopiji racuna, mozes da uradis isto. Combo boxovi se na papiru vide kao text boxovi. A mozes da u report source query dodas kolone koje ti trebaju (JOIN query) i odstampas ih u nekoj header sekciji racuna.
Nemoj slucajno da pomislis da stampas formu direktno. Odmah cemo da te vratiom u beznadezne pocetnike.
;-)