|
|
|
Crash
|
|
(Difference between revisions)
Revision as of 10:25, 10 April 2010 Pacala_ba (Talk | contribs) ← Previous diff |
Revision as of 14:47, 11 April 2010 Pacala_ba (Talk | contribs) Next diff → |
| Line 23: |
Line 23: |
| | *'''Reimport All objects from OLD into NEW one database''' , ([[Menu Bar#File,Get External Data,Import...|Ac_Menu,Import...]],[[Rebuild#Database|Rebuild-Database]] )<br/> | | *'''Reimport All objects from OLD into NEW one database''' , ([[Menu Bar#File,Get External Data,Import...|Ac_Menu,Import...]],[[Rebuild#Database|Rebuild-Database]] )<br/> |
| | *You should '''regularly''' perform [[Compact and Repair]] on your database<br/> | | *You should '''regularly''' perform [[Compact and Repair]] on your database<br/> |
| - | *Or you can [[Compact_and_Repair#Should you use the Compact On Close option?| Compact on Close]] ... ([[Menu Bar#Tools,Database Utilities,Options...|Ac_Menu,Options...]] -General Tab/ Compact on Close=ON )<br/> | + | *Or you can [[Compact_and_Repair#Should you use the Compact On Close option?| Compact on Close]] ... ([[Menu Bar#Tools,Options...|Ac_Menu,Options...]] -General Tab/ Compact on Close=ON )<br/> |
| - | *Switch Name AutoCorrect to OFF ([[Menu Bar#Tools,Database Utilities,Options...|Ac_Menu,Options...]] -General Tab/Name AutoCorrect =OFF ) in all your databases manually or automatically ([[Startup|Set Options (Database environment) from Visual Basic]]) <br/> | + | *Switch Name AutoCorrect to OFF ([[Menu Bar#Tools,Options...|Ac_Menu,Options...]] -General Tab/Name AutoCorrect =OFF ) in all your databases manually or automatically ([[Startup|Set Options (Database environment) from Visual Basic]]) <br/> |
| | *[[Split Database|Split your database]] into FrontEnd ([[Access: What Is It?#Frontend|FE]]) and BackEnd ([[Access: What Is It?#Backend|BE]]), Not Split ... [-> risk higher] <br/> | | *[[Split Database|Split your database]] into FrontEnd ([[Access: What Is It?#Frontend|FE]]) and BackEnd ([[Access: What Is It?#Backend|BE]]), Not Split ... [-> risk higher] <br/> |
| | *Each User has Only one FrontEnd ([[Access: What Is It?#Frontend|FE]]) , Not one FrontEnd ([[Access: What Is It?#Frontend|FE]]) on the server for all<br/> | | *Each User has Only one FrontEnd ([[Access: What Is It?#Frontend|FE]]) , Not one FrontEnd ([[Access: What Is It?#Frontend|FE]]) on the server for all<br/> |
Revision as of 14:47, 11 April 2010
1. What is Access Crash
Microsoft Office Access has encountered a problem and needs to close..
Do not worry, nobody is perfect..
2. What exactly crashes
- Access ( MSACCESS.EXE )
- VBA ( VBE6.DLL )
- External DLL ( WIN32API NTDLL.DLL)
- Others (MSJET40.DLL,..)
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:
- No problems, you have a plenty of YOUR_DATABASE Backups and you can than Rebuild your Database
- You have the latest Windows Service Pack installed(Office Update)
- Repair my open database and restart Microsoft Access.
- Reimport All objects from OLD into NEW one database , (Ac_Menu,Import...,Rebuild-Database )
- 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), 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:
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)
- 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 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 Service or look at some other Links
|