You might have used line numbering to track error locations, but this technique can be a pain (and ugly) to use for every line. Sparse line numbers help you locate code sections generating errors through the intrinsic Erl (error line) property.
Erl captures the most recent line number so you can pinpoint error locations with whichever precision you desire. This can help you determine what to do in the error handler?for example, do you need to roll back the database transaction?
Public Sub TestErl() Dim x On Error GoTo EH x = 1 'This is line 0 (no line number set) x = x / 0 'cause an error10 x = x / 0 'This is line 10 x = 2 x = x / 0 'This is also "line 10"20 x = 4'entering a new section of the procedure, set a new 'line number x = 5 x = x / 0 'this is still "20" Exit SubEH: Debug.Print Err.Description & " on line " & Erl'picks up the most recently used line number'log or email error info if desired--makes debugging 'far easier. App.LogEvent "Error " & Err.Number & _ " in TestErl: " & Err.Description & _ " on line " & Erl, vbLogEventTypeWarning Resume NextEnd Sub