Bug #2791
closedOut of Stack space (access 2000)
0%
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. ??
Updated by Michael Lee over 17 years ago
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.
Updated by Michael Lee over 17 years ago
That's Application.BrokenReference that isn't available in Access2000
Updated by Michael Lee over 17 years ago
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.
Updated by Michael Lee over 17 years ago
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
Updated by Michael Lee over 17 years ago
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
Updated by Michael Lee over 17 years ago
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
Updated by Michael Lee over 17 years ago
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.