[ rribaric @ 25.12.2004. 12:08 ] @
Znam da se danas baš neradi ali ja sam morao sjest za komp jer mi vrg neda mira i naišao sam odmah na glupi problem. Napravio sam masku.I na njoj napravio tri command buttona za unos,brisanje i pregled. Pošto sam do sad uvijek radio da kad želim unijeti novi zapis uvijek mi se otvori forma i u njoj izvršim zapis a zatim se vratim na glavnu masku .To sam u ovom slučaju želio izbjeć i upisivat podatke dužirektno u toj masci! U prprtisu forme sam postavio da su Allowedits,allowDeletions i AllowAdditions ="no" Brisanje sam elegantno riješio sa ovim codom Public Function fpotvrdi() Dim strsql, t As String On Error GoTo Err_fpotvrdi 'dozvoljava brisanje Me.AllowDeletions = True t = Me!ID 'briše pozicionirani record strsql = " DELETE * " strsql = strsql & " FROM loko_radnidan " strsql = strsql & " WHERE ((ID)=" & t & ");" Call CurrentDb.Execute(strsql, dbFailOnError) 'ponovno blokira brisanje Me.AllowDeletions = False Forms!loko_glavna.Refresh ........... end function Problem nastaje kod novog zapisa što koristim naredbu "Me.AllowAdditions = True",upis mi se dozvoli ali nakon toda mogu beskonačno dodavat zapise-ja bih htio da se ta naredba odnosi samo za taj jedan zapis a da se nakon kompletnog unosa podataka za taj record ponovno postavi Me.AllowAdditions = false. Kako da to izvedem;što da napravim-Ovo bi mi puno pomoglo jer nebi morao radit zasebne forme za unos već sve mogu radit u istoj masci što mi se čini puno lakše i prihvatljivije. Znači Treba dozvolit upis i nakon upisa za novi Id ponovno blokirat nasku za upis,brisanje i editiranje! HELP!!!! Kod unosa novog zapisa koristim ovaj kod Public Function fcmdAddNew() On Error GoTo Err_fcmdAddNew 'dozvoljava upis Me.AllowAdditions = True DoCmd.GoToRecord , , acNewRec 'postavlja focus na redni broj novog zapisa Forms!loko_glavna!red_broj.SetFocus 'povećava brojač za jedan Dim db3 As DAO.Database, tb3 As DAO.Recordset, br As Integer Set db3 = CurrentDb Set tb3 = db3.OpenRecordset("parametri") tb3.MoveFirst br = tb3!br_loko tb3.Edit tb3!br_loko = tb3!br_loko + 1 tb3.Update tb3.Close db3.Close Exit_fcmdAddNew: Exit Function Err_fcmdAddNew: MsgBox Err.Description Resume Exit_fcmdAddNew End Function Usput kakoda kod napišem na forumu a da bude u onako bijeloj pozadini ko što vi pišete! |