Bug #2791
closed
Out of Stack space (access 2000)
Added by Michael Lee over 17 years ago.
Updated over 17 years ago.
Description
Hello. I have encountered another error with the new version of the vegetation database. [v 2.0.4]
When I begin to enter anything in the species name box I get an error message...
Run-time error ‘28’
Out of Stack space.
really reported by David Ingersoll who also has compile errors initially, which could be causing the secondary problem. ??
Confirmed: this is a problem in Access 2000 when you try to add a new record to Cover Data (not Planted or Natural Stems, however). This wasn't a problem in version 2.0.3, so what changed between them.
In addition, there are several other compile errors in 2000:
application.brokenReferences
and Report.openArgs, including docmd.openReport ,,,,,(openingArgs)
so probably best is to close off these parts of the system from Access 2000 and we state that we support Access 2000 in a limited manner. The reports are more for DBA anyway. The brokenReferences thing should be handled in that the references are decoupled when access closes.
That's Application.BrokenReference that isn't available in Access2000
It appears that the form_BeforeInsert triggers the Form_Dirty event, which triggers the form_BeforeInsert event, and so on. Obviously, this is a problem, but it doesn't seem to happen with stems... which is interesting. Also, doesn't happen when getCurrentUser() is not referenced in the dirty event.
A bit of a hack is to check to see if the last dirty event was less than 2 seconds ago, if so, just skip the dirty event:
'ignore difference of less than 2 seconds between this dirty
'and previous dirty event:
Static dte_entry_cover_lastDirty As Date
If DateDiff("s", dte_entry_cover_lastDirty, Now()) < 2 Then
'skip this
Debug.Print "skipping dirty, as it was just dirty a second ago"
Exit Sub
End If
Make that:
'ignore difference of less than 2 seconds between this dirty
'and previous dirty event:
Static dte_entry_cover_lastDirty As Date
If DateDiff("s", dte_entry_cover_lastDirty, Now()) < 2 Then
'skip this
Debug.Print "skipping dirty, as it was just dirty a second ago"
Exit Sub
End If
dte_entry_cover_lastDirty = now() 'remember this dirty event for next time
Solution to brokenReferences thing:
Public Function checkForAppBrokenRef() As Boolean
On Error GoTo errThis
Dim blnRet As Boolean
blnRet = Eval("application.brokenReference")
exitthis:
checkForAppBrokenRef = blnRet
Exit Function
errThis:
'not available, I guess, assume something could be broken, and look one-by-one
Debug.Print "checkForAppBrokenRef>> Can't work with application.brokenReference"
blnRet = True
Resume exitthis
End Function
fixed in version 210p6
Out of stack space is fixed (can add records to entry_cover fine)
Can open db fine, as well in access2000.
Original Bugzilla ID was 2791
Also available in: Atom
PDF