Citat:
Naime napravio sam malu formu koja služi za printanje kupoprodajnih ugovora eh prvi problem, napravio sam da prilikom FormLoad dodaje novi record u bazu i tu nastaje problem kada neko otvori ali ništa ne ispuni on opet doda taj prazan record,
To sto si uradio stvara problem. Resenje - nemoj to da radis. Kako da dodajes novi rekord? Mozes da dodas dugme negde na formi koje sluzi da se otvori forma za unos novog rekorda. Znaci, otvoris formu normalno, pa korisnik klikne dugme na kome pise "Dodaj novi rekord" i otvori se prazna forma koja ceka podatke.
Da ne bi cuvao prazne rekorde, stavis na nivou tavbele da su ti sva ili skoro sva polja Required = Yes. Ako mislis da ti nisu potrebana sva ili skoro sva polja kad unosis rekord, onda nesto nije dobro u generalnoj postavci tabele (ili vise njih) i iz toga proizilazi ovaj problem, a i mnogi drugi koje mozda jos ne vidis
Citat:
Drugi problem (mada nije veliki) je kada ispunimo sva polja i želimo printati ugovor klikom na dugme Print pojavljuje se prozor upita u koji moramo unijeti redni broj tog recorda pa je pitanje dali je moguće izbjeći unošenje tog rednog broja nego da prilikom klika na dugme printaj on otvara report sa ID-om na kojem se trenutno nalazimo.
Ovo se resava komandom z aotvaranje reporta - DoCmd.OpenReport. Pogledaj u Help-u ili u nekoj knjizi detalje. Uglavnom, ta komanda ima nekoliko parametara, a jedan od njih se zove WhereCondition. Za tebe, resenje bi izgledalo nekako ovako:
Code:
'ovaj kod treba da stoji u OnClick eventu za dugme koje poziva izvestaj
Dim strImeReporta as string
Dim strUslovZaStampanje as string
strImeReporta = "tvojReportOUgovorima"
strUslov = "Redni broj rekorda = " & me!RedniBrojRekorda
DoCmd.OpenReport ReportName:=strImeReporta . WhereCondition:=strUslovZAstampanje, view:=acPreview
Prouci komandu DoCmd u helpu ili u knjigama. To je velika i mocna komanda i sluzi za kontrolisano otvaranje formi, izvestaja, kverija - za sve ono sto inace radis rucno iz menija ili ikonama, u fazi pre pisanja programa.
Medjutim, cak i upotreba DoCmd ti mozda ne spreci pojavu "prozor upita u koji moramo unijeti redni broj tog recorda ". Taj s eupit javlja kad se na kveri postavi parametar. Ako na kveriju koji je osnova za report imas postavljen parametar, to ce se pitanje uvek javiti. Za rucni rad to je ponekad zgodno, ali z aprogramiranje nije. Umesto parametara na nivou kverija, koristi se DoCmd komanda kroz koju se u stvari salju parametri (WheerCondition)
Zapetljano? I nije kad malo proucis stvari, a moras. ne veruj Microsoftu kad ti kaze da se sve moze uraditi pomocu templates i macros. U stvari, NISTA se ne moze uraditi na taj nacin, ali propaganda radi dan i noc i naivni se ponekad upecaju.
