Ili nisi citao prethodne postove ili ne znam sta je. Forma i subforma su uvek u relaciji 1:vise, sto znaci da je forma 1 a subforma vise. Ovo znaci da je subforma obavezno datasheet (ili cont. form). Tvoje subforme nisu datasheet. dalje, froma i subforma mora da su data bound. tavoja foma Pregeld nije bound gforma, tako da subforme,kave god da su, nemaju na sta da se vezu. Ako su subforme datasheet i vezan za glavnu formu, onda je unos podataka trivijalan.
ne znam kako dalje da ti objasnim. evo kako ja vidim tvoju aplikaciju (sto 100% odgovara savetima kje sam ti dao u poslednjim postovima). Sve je obvde korak po korak i zaista ne znam dalje kako da objasnim:
1. Kreairam movi prazan Access fajl
2. Impotujem iz baza_2a_1.mdb samo tabela
3. Kreiram formu frmLokacije_DS, ovako:
I. izaberem tabelu lokacije
II. kliknem na Autoform => kreira se najprostija formic
III. SAVE AS "frmLokacije_DS", I dalje sam u Design modu
IV. Podesim properties:
a. Default Form View = Datasheet
b. Allow Form View = NO
c. Allow Pivot Form/Chart view = NO
d. Allow edits = No
e. Allow Deletions = NO
f. Allow Additions = NO => forma je prakticno read only
Forma frmLokacije_DS, kad se otvori u design modu uopste ne lici na datasheet ali to nema veze, uvek se vidi kao datasheet.
4. Kreiram formu frmRezervoari_DS, isto kao frmLokacije, samo bez koraka d,e,f (ne diram Data tab)
5. Kreiram formu frmDispenzri_DS, sev isto kao frmRezervoar_DS, ne diram (Data tab)
6. Kreiram formu frmLokacije_Master, ovako:
I. izaberem tabelu lokacije
II. kliknem na Autoform => kreira se najprostija formic
III. SAVE AS "frmLokacije_DS", I dalje sam u Design modu
IV. navucem kontrolu za subformu => aktivira se wizard, pita me koju formu hocu da mi bude subforma, kazem frmLokacije_DS, klinemFinish I sve je gotovo
V. navucem kontrolu za subformu pa izaberem frmDispenzeri_DS, kao tacke IV
VI. Doam dugme Exit, pomocu wizarda (Close Form) I stavim ga na orm header
7. Kreiram praznu formu, bez icega I nazovem je frmGlavna (Forms, New)
8. Na frmGlavna navucem frmLokacije_DS =. na frmGlavna u ovom moment nema nista osim subforme frmLokacije_DS
9. Kliknem na subformu I postavim da je na data tablu Enabled=YES, Locked=Yes (jos jednom smo je ucinili read only)
10. Postavim dugme xit, pomocu wizarda, u header forme frmGlavna
Ovim sam dobio datasheet za pregled lokacija. Po datasheetu mogu da skrolujem, radim Find, Filter sta god hocu, dok ne nadjem koja mi lokacija treba.
11. Idem na Tools/Startup I posatvim da mi je frmGlavan startup forma. Snimi I zatvori frmGlavna.
12. Vracam se na frmLokacije_DS
I. Otvaram frmLokacije_DS u design modu.
II. Izabiram text box ID_Lokacije
III. Idem na properties Event tab
IV. Biram On_DblClick event za kontrolu ID_Lokacije
V. Treba da unesem kod, ovako:
Code:
Private Sub ID_Lokacije_DblClick(Cancel As Integer)
Dim strWhere As String
Dim strFormname As String
strFormname = "frmLokacije_Master"
strWhere = "ID_Lokacije=" & Me!ID_Lokacije
DoCmd.OpenForm FormName:=strFormname, view:=acNormal, WhereCondition:=strWhere, DataMode:=acFormEdit
End Sub
Kod na dbl_click otvara formu frmLokacija_Master, za odabranu lokaciju.
ne formi Lokaciaj_master nalaze se dve subforme u koje se direktno ukucavaju podaci
13. Dodajme na frmGlavna dugme za otvaranje frmLokacije_master kada hocu da diodam novu lokaciju, ovako:
I. Otvorim frmGlavna u dizajn modu
II. Navucem kontrolu za dugme, otvori se wizard, pokazm na fromu frmLokacije_Master, podesim caption I ime za dugme
III. Otvaram kod koji je wizard napravio I prepravljam gad a izgleda ovako:
Code:
Private Sub cmdDodajNovuLokaciju_Click()
On Error GoTo Err_cmdDodajNovuLokaciju_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "frmLokacije_Master"
DoCmd.OpenForm FormName:=stDocName, view:=acNormal, dataMode:=acFormAdd
Exit_cmdDodajNovuLokaciju_Click:
Me.Recalc
Exit Sub
Err_cmdDodajNovuLokaciju_Click:
MsgBox Err.Description
Resume Exit_cmdDodajNovuLokaciju_Click
End Sub
Forma ce se otvoriti u Add Only rezimu - spremna da prihvati nove podatke
Ovo ti je kostur aplikacije koja void evidenciju o lokacijama i sta ima na lokaciji (rezervoari, dispenzeri). Sve uz minimu moguci programiranja.
Predlazem da zaboravis na metod navigacije pomocu combo boxa, iako ti se oocigledno dopada. Moze to i tako da se radi, se unbound kontrolama ali je mnogo teze. To rade VB programeri sa mnogo iskustva i velikom brzinom rada sto ovde nije slucaj.
Ja dalje od ovoga ne mogu da ti pomognem.