Drago mi je da je bilo od koristi. Sto se tice Access-a, verzija 97 je ubedljivo najbolja u celini. Ranije verzije nisu bile toliko mocne, a kasnije su pretrpane u sustini malo korisnim nadgradnjama - ADP, mini SQL unutar Accessa (MSDE?), name change tracking (za koju se preporucuje da se iskljuci, inace puca program kad se ranuju slozeniji kveriji). Najbolje knjige za Access napisane su za '95 i '97.
Ako se vec bavis kontrolom gresaka, evo ti jedna ideja kako to raditi na nivou procedure/funkcije.
Function MyFunc() as some_data_type
'Absolutno prva linija u svakoj proceduri, pre DIM i CONST
On Error GoTo ERROR_CODE:
Dim Something AS some_data_type
'Ovde dodje kod koji zaista nesto radi
'Ako si stigao dovde bez greske, ti si OK pa mozes da vratis vrednost funkcije
MyFunc() = something
EXIT_HERE:
On Error Resume Next
'Ovde dodje rs.close, set db=nothing itd
Exit Function
ERROR_CODE:
Select Case err
Case Else MsgBox "Error " & err.number & vbcrlf & Err.Description
End Select
Resume EXIT_HERE:
End Function
Deo iza ERROR_CODE moze da izgleda ovako:
ERROR_CODE:
Select Case err
Case 123456
'Ovde doddje poruka ili kod za gresku sa brojem 123456
'Sve ostale greske su pokrivene sa Case Else
'ovde moze da se stavi i Resume Next
'sto prakticno znaci da se odredjena greska ignorise
Case Else
MsgBox "Error " & err.number & vbcrlf & Err.Description
'Zgodno je da se u message title stavi naziv procedure koja prijavljuje gresku
End Select
'Ovde moze da se ubaci linija koja loguje gresku, na primer:
'Call LogThisError(ProcName,Err.Number, Date, time, User)
'gde je LogThisError neka procedura koja zapisuje greske u neku tabelu
Resume EXIT_HERE:
Medjutim, ne mogu sve greske da se presretnu ovakvim nacinom. Na primer, ako ti je forma bound na neku tabelu i pokusas da uneses duplikat ili nevazeci PK (narusavanje relacija), tvoj Error code se nece aktivirati - to su greske na nivou Access JET engine, a ne u tvojoj proceduri. Forma moze da nema nikakav kod a ti ipak napravis gresku kad uneses duplikat. Za to prouci Form Error event. Mislim da i u Access 2K ima lep primer, ako ne, javi se pa cu ti poslati primere.
Srecno!