|
|
|
Crash
|
|
Revision as of 10:07, 24 April 2011; view current revision←Older revision | Newer revision→
1. What is Access Crash
Microsoft Office Access has encountered a problem and needs to close.. (Error Codes-Crash)
Do not worry, nobody is perfect..
2. What exactly crashes
(UtterAccess Forum link: [url="http://www.utteraccess.com/wiki/index.php/Crash"]What exactly crashes ?[/url] )
See the Office Event log:
Ac_Menu,About Microsoft Access , SystemInfo.., Office 2003 Apps, Office Event/Fault,... [Select rows,Copy Ctrl+C,Paste Ctrl+V]
Example of Crash Details:
Faulting application MSACCESS.EXE, version 11.0.8166.0, time stamp 0x46437912,
faulting module ntdll.dll, version 6.0.6001.18000, time stamp 0x4791a7a6,
exception code 0xc0000374, fault offset 0x000b015d,
process id 0x1344, application start time 0x01c94ce37c6ea7e6.
3. What to do
some basic tips here:
- You should regularly perform Compact and Repair on your database
- Or you can Compact on Close ... (Ac_Menu,Options... -General Tab/ Compact on Close=ON )
- Switch Name AutoCorrect to OFF (Ac_Menu,Options... -General Tab/Name AutoCorrect =OFF ) in all your databases manually or automatically (Set Options (Database environment) from Visual Basic)
- Split your database into (FrontEnd-FE) and (BackEnd-BE,TempEnd), Not Split ... [-> risk higher]
- Each User has Only one (FrontEnd-FE) , Not one (FrontEnd-FE) on the server for all
- DO NOT EDIT/COMPILE/SAVE your Code, while running code !
- For Code EDIT use Design Mode ( VBE_Menu,Design Mode /Exit Design Mode ) !
- For Code STOP (For-Ever-Loop), press CTRL+BREAK to pause execution of Visual Basic code ( Microsoft Access Help (F1), Answer wizard=AllowBreakIntoCode ), DO NOT KILL your Application with Task Manager !
- DO NOT use SHORT TypeDeclaration (str1$, %, &, ...) in your code
- Do NOT use too many COLONS ':' in your code!
If still problems:
Advanced tips:
- Verify your API calls, Wrong API call example:
CODE Option Compare Database Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _ (ByVal strDest As Any, ByVal lpSource As Any, ByVal Length As Long)
Sub Test_Force_Crash() Dim lpMemory As Long Dim lngSize As Long Dim strText As String lngSize = 1 lpMemory = 1 MsgBox "FORCE-CRASH OF NTDLL.DLL !", vbCritical + vbMsgBoxSetForeground Call MoveMemory(lpMemory, strText, lngSize) End Sub
- Ac_Menu,Detect and Repair...
- Optional: with Restore my default settings = YES
- SaveAsText (MDB -> TXT) , LoadFromText ( TXT -> MDB )
- Syntax: VBE_Menu,Object Browser (F2), Show Hidden members=ON..
- Sub SaveAsText(ObjectType As AcObjectType, ObjectName As String, FileName As String)
- Sub LoadFromText(ObjectType As AcObjectType, ObjectName As String, FileName As String)
- Rebuild-Database-from-TEXT
- VBE_Menu,Options... /Compile on Demand=OFF
- Try to STEP through the code, line by line ( F8 ), to find out, what Line of Code/Command/Action exactly crashes and post it here Access Errors + Error Handling with Thread name: Crash..
- Decompile, Decompile your Project ( Compact and Repair)
- If Compiler wrong replace your VBE6.DLL
- Access-Tuning/Jet-Optimization-Tools Only for real Advanced Users ONLY
- Contact some professional Database Repair/Recovery Service or look at some other Links, Access-Database-Corruption-Repair-Guide
|