Simke i Zonic su ti dali 100% korektan savet. U praksi to bi izgledalo ovako:
Pogledaj u Top temi Tips and Tricks pricu o Error handling. Za pocetak, malo modifikuj tvoju funkciju, dodoaj Err.Number, ovako:
Code:
Public Function fpotvrdi()
On Error GoTo Err_fpotvrdi
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, Me.Name, acSaveNo
Forms!artK_maska!.Refresh
exit_fpotvrdi:
Exit Function
Err_fpotvrdi:
MsgBox "Greska broj " & Err.number & vbcrlf & Err.Description & vbcrlf & "u funkciji fpotvrdi()"
'Poruka ce da javi broj greske a mne samo tekst.
Resume exit_fpotvrdi
End Function
Onda proizvedi tu gresku. Poruka ce ti javiti brioj greske. Zapiis ga na papir. onda ponovo modifikuj funkciju, ovako:
Code:
Public Function fpotvrdi()
On Error GoTo Err_fpotvrdi
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, Me.Name, acSaveNo
Forms!artK_maska!.Refresh
exit_fpotvrdi:
Exit Function
Err_fpotvrdi:
select case err.number
case 315 'recimo da je tvoj broj greske 315
'ili ne radis nista ili stavis svoju poruku:
MsgBox "Greska 315, niste izabrali nista sa list boxa. Ako to ne uradite sledeci put' kompjuter ce da eksplodira"
case else
MsgBox "Greska broj " & Err.number & vbcrlf & Err.Description & vbcrlf & "u funkciji fpotvrdi()"
end select
'Poruka ce da javi broj greske a mne samo tekst.
Resume exit_fpotvrdi
End Function
Nazalost, postoje i greske koje ne mozes uhvatiti sa error handling. To su greske koje nastaju ne zbog koda, nego zbog podataka. Na primer, imas formu za unos i neko polje ima UNIQUE indeks - dozvoljava samo jedinstvene vrednosti. Greskom ukucas nesto sto vec postoji u tom polju. Error handler to ne hvata jer je kod OK. Za te slucajeve imas formin OnError event. U helpu imas primer koji pokriva 99% slucajeva - cini mi se da pokriva problem duplikata i problem referential integrity (kad probas na strani vise da uneses nesto sto nemas na starni 1).
Posto je formin Error event spomenuo Zonic bilo bi lepo da nam on o tome ostavi jedan post u Tips and Tricks ili bazi znanja, da ne bude da se samo Simke i Zidar prave pametni