[ gorancho @ 14.11.2008. 11:49 ] @
Na formi imam tri podforme (sve su Datasheet) i jedno komandno dugme. Komandnim dugmetom uzimam ključeve prve i druge podforme i kao složeni ključ pokušavam da upišem u treću podformu . U proceduri ispod komandnog dugmeta presrećem grešku
On Error GoTo Err_Command4_Click .....
...
Err_Command4_Click:
DoCmd.SetWarnings False
MsgBox " Obveznik je vec izdvojen " & Err.Description
DoCmd.SetWarnings True
Resume Exit_Command4_Click

ali se ona aktivira posle sistemske poruke. GDE JE GREŠKA ????
[ Zidar @ 14.11.2008. 17:44 ] @
A koja je sistemska poruka?
[ domaci_a_nas @ 14.11.2008. 19:49 ] @
Probaj da u Form_Error Event postaviš kod Response = 0, to bi trebalo da reši problem.
[ Take 5 @ 15.11.2008. 02:14 ] @
Mislim da bi trebalo "DoCmd.SetWarnings False" da postavis ranije, u sam vrh te procedure, jer kada je ovako kako si napisao
Citat:
On Error GoTo Err_Command4_Click .....
...
Err_Command4_Click:
DoCmd.SetWarnings False
...

Prvo se desi greska, pa dobijes poruku upozorenja, a tek onda se izvrsava deo koda "On Error..." koji ceka da se greska desi.
[ gorancho @ 15.11.2008. 19:49 ] @
Poruka sistema je
"Microsoft Office Access set 0 fild(s) to null due to a type conversion failure, and it didn’t add 1 record(s) to the table due to key violations, 0 record(s) due to lock violations, and 0 record(s) due to validation rule violations.
Do you want to run the action query anyway?
To ignore the errors(s) and run the query, click Yes.
For an explanation of the causes of the violations, click Help.
Yes, No, Help"

a procedura je

Private Sub Command4_Click()
On Error GoTo Err_Command4_Click
xSQL = "INSERT INTO RefPib ( Referent, Pib ) SELECT ...;" ' dugacka je putanja pa sam skratio za ovde
DoCmd.RunSQL xSQL

Forms![Raspored]![Svi].Form.Requery
Forms![Raspored]![RefPibW subform].Form.Requery

Exit_Command4_Click:
Exit Sub

Err_Command4_Click:
DoCmd.SetWarnings False
MsgBox " Obveznik je vec izdvojen " & Err.Description
DoCmd.SetWarnings True
Resume Exit_Command4_Click

End Sub

dodao sam i ovaj naredni kod ali opet isto

Private Sub Form_Error(DataErr As Integer, Response As Integer)
Response = 0
End Sub
[ domaci_a_nas @ 16.11.2008. 14:02 ] @
gorancho, rešenje tvog problema je prosto, baš kao što reče Take 5, mene je povuklo to što si napisao error handler. Do greške uopšte ne dolazi, jer prosto, upozorenje nije greška. Tako da mislim da bi trebalo samo da ispred izvršenja SQL izjave da dodaš DoCmd.SetWarnings False.
[ rstevic @ 16.11.2008. 21:33 ] @
A Ako vec hoces da hvatas sistemske greske onda se to radi malo drugacije.
Ja imam jednu tabelu sa sistemskim greskama i sa dodatim poljem tekstser (sto bi bilo teks srpski) pa hvatam sadrzaj tog polja u situacijama gde treba videti sistemsku gresku.
Ako si zainteresovan mogu i da zakacim tabelu jer je prilicno mukotrpno hvatati sve brojeve gresaka i prevoditi ih.
[ biske86 @ 16.11.2008. 21:40 ] @
Mene interesuje ova tabela. Možeš li da je okačiš?
[ gorancho @ 17.11.2008. 14:29 ] @
- Do greške uopšte ne dolazi, jer prosto, upozorenje nije greška.

OK to nije "GRESKA" vec upozorenje ali i njega ne yelim da vidim a ako stavim kombinaciju
DoCmd.SetWarnings False
DoCmd.RunSQL xSQL
DoCmd.SetWarnings True

onda mi eliminise "UPOZORENJE" ali me ne upozori na narusavanje integriteta dupliciranjem kljuca kroz

Err_Command4_Click:
MsgBox " Obveznik je vec izdvojen " & Err.Description
Resume Exit_Command4_Click

End Sub

Drugacije resenje mogu da odradim kroz prebrojavanje slogova koji zadovoljavaju uslov ali sam tvrdoglav jer i ovo treba da nekako radi
[ rstevic @ 20.11.2008. 11:14 ] @
Naravno da cu je okaciti.
U strasnoj sam guzvi ovih dana pa nisam u mogucnosti da pratim sve teme u kojima sam ucestvovao, ali evo!
[ Zidar @ 20.11.2008. 14:22 ] @
Citat:
onda mi eliminise "UPOZORENJE" ali me ne upozori na narusavanje integriteta dupliciranjem kljuca kroz

Err_Command4_Click:
MsgBox " Obveznik je vec izdvojen " & Err.Description
Resume Exit_Command4_Click

End Sub

Drugacije resenje mogu da odradim kroz prebrojavanje slogova koji zadovoljavaju uslov ali sam tvrdoglav jer i ovo treba da nekako radi

Tacno, drugacije nece. Deluje mi da nesto radis pogresno. Sa upozorenjima i porukama ili bez, desava se ovo: pokusavas da uneses nesto u tabelu preko 'append' kverija. Neki ce rekordi da prodju, a neki nece. Sa poruklom ili bez poruke, ti NE ZNAS KOJI to NISU PROSLI. Ako te interesuje koji rekordi NISU PROSLI, ne mozes to da utvrdis nikako posle izvresnja kverija. Pre nego sto se kveri izvrsi, imas u izvornoj tabeli nesto sto vec imas i u ciljnoj tabeli. Tada jos uvek mozes da intervenises i utvrdis koji su to koji nece proci, jer su duplikati. Dovoljno je da odradis unmatched query. Ako se append kveri vec izvrsio, tada sve sto iams u izvornoj tabeli imas i u ciljnoj tabeli. Nesto je uslo sad, a nesto je bilo tamo od ranije. Medjutim, ne mozes da odradis unmatched query, zato sto nema vise razlike.

Ako te ne interesuje zasto neki rekordi nisu prosli, onda te ne interesuje ni poruka.

Resenje sa Form_error verovatno ne bi proslo, jer se ne radi o forminom eventu i form ne mora da bude bound za ovo. Form_error hvata ovu vrstu problema samo na unbound formama. bar mislim da je tako. Ako neko ima vremena, proverite pa me ispravite.