ACC: Troubleshooting Invalid Page Faults in MS Access 95 and 97
ID: Q148424
|
The information in this article applies to:
-
Microsoft Access versions 7.0, 97
SUMMARY
Moderate: Requires basic macro, coding, and interoperability skills.
This article discusses the causes of invalid page faults in Microsoft
Access 97 and Microsoft Access 7.0 and provides troubleshooting steps for
solving invalid page fault errors.
MORE INFORMATION
There are two basic causes for an invalid page fault in the Windows 95
environment:
- Something unexpected has happened within the Windows environment,
typically an improper memory address. For example, an application or
a Windows component might read or write to a memory location that has
not been allocated to it (memory that it does not own), potentially
overwriting and corrupting other program code in that area of memory.
-or-
- Parameters that are not valid have been passed between applications
and the Windows environment. Invalid parameters can cause invalid
instructions to be executed, resulting in page faults. This is usually
the result of the application's internal program code incorrectly
passing specific data that could not be correctly interpreted by
Windows or a Windows-based application.
Because these causes are general, you may need to try several
troubleshooting steps to find the specific cause of an invalid page
fault in Microsoft Access. You can begin by investigating the following
application-related problems:
- A confirmed bug in Microsoft Access
- A damaged database
- A fragmented database
- A corrupted database
- Incorrect Registry settings
- Mismatched dynamic link libraries (.DLLs)
If you determine that the cause is none of these, you can investigate
the following system-related problems:
- A memory conflict
- A Temp folder (directory) problem
- A video driver and settings problem
- A printer driver and settings problem
- Incorrect virtual memory settings
- Incorrect file-system settings
- Hard disk fragmentation or errors
These application-related and system-related problems and the steps to
troubleshoot them are discussed in more detail below.
Application-Related Problems
Confirmed Bug in Microsoft Access
An invalid page fault is occasionally caused by a bug in an application.
In Microsoft Access 7.0, for example, there is a problem with the Visual
Basic for Applications Development Environment (VBA232.dll version
2.0.5524), which can cause the following error message when you develop
form modules:
MSACCESS caused an invalid page fault in VBA232.dll
An update to Vba232.dll that fixes this problem is available. For
information about how to obtain this update, please see the following
article in the Microsoft Knowledge Base:
Q147529 ACC95: Updated Vba232.dll Available on MSL
You can find more information about any known Microsoft Access problems
that may cause invalid page faults by searching on the following words in
the Microsoft Knowledge Base:
page fault 7.0
-or-
page fault 97
Damaged Database
When you receive an invalid page fault in Microsoft Access, you should
run the Repair Database command to correct any potential problems caused by damage to the structure or data of the current database.
NOTE: Run the Repair Database command only when the Microsoft Jet database engine returns an error message indicating that the repair
should be run. You should not run the Repair Database command under any other circumstances.
To run the Repair Database command:
- Close the database. If you are in a multiuser environment, confirm that all users have closed the database.
- Make a backup copy of the database. Using Windows Explorer, My
Computer, Microsoft Backup, the MS-DOS copy or backup commands, or
Other backup software, copy the database file (an .mdb file) to a
backup medium of your choice.
NOTE: If you are backing up to a floppy disk and your database file
exceeds the size of the disk, you cannot use Windows Explorer or
My Computer to back up your database; you must use Microsoft Backup,
the MS-DOS backup command, or backup software so that you can copy
the file over more than one disk.
You should also create a backup of the workgroup information file.
Microsoft Access stores each user's preferences and security account
information in this file. If this file is lost or damaged, you won't
be able to start Microsoft Access until you restore or rebuild it.
You can back up individual database objects by creating a blank
database and then importing the objects that you want from the original
database.
- On the Tools menu, point to Database Utilities, and then click Repair Database.
- Specify the name and location of the database you want to repair.
NOTE: After using the Repair Database command, if your database behaves unpredictably or if you receive an invalid page fault (either immediately or after continued use), you should try additional troubleshooting steps described in this article to find the cause of the page fault.
Fragmented Database
If a database's behavior is unpredictable or performance degrades over
time, the database may be using disk space inefficiently because it is fragmented. You can compact the database (using the Compact Database command) to defragment the file to free disk space.
To compact a database:
- Close the current database. If you are in a multiuser environment,
confirm that all users have closed the database.
- On the Tools menu, point to Database Utilities, and then click Compact Database.
- In the Database To Compact From dialog box, specify the database that you want to compact.
- In the Compact Database Into dialog box, specify a name, drive, and folder for the compacted database.
You can use the same name as the original for the compacted database
file, or you can use a different name to create a separate file. If you
use the same name, drive, and folder, and the database is compacted
successfully, Microsoft Access automatically replaces the original file
with the compacted version.
NOTE: You should run the Compact Database command on a regular basis.
Corrupted Database
If both the Repair Database and Compact Database commands fail to solve unpredictable behavior or application-related invalid page faults, you can try creating a new database, importing objects from the old database, and compiling all modules in the new database.
NOTE: This method is not recommend if your database is a replica in a replica set. If your replica is corrupted, you should create a new replica from the Design Master.
The general steps to do so are as follows:
- Create a new Microsoft Access 97 or Microsoft Access 7.0 database.
- On the File menu, click Get External Data, and then click Import.
- In the Import dialog box, make sure to select Microsoft Access (.mdb) in the Files Of Type box.
- Click the arrow to the right of the Look In box, select the drive and folder where the Microsoft Access database (.mdb) that you want to import is located, and then double-click the database's icon.
- Click one or more objects to import. You may want to select only a
few objects at a time because this makes it easier to identify any
corrupted objects.
- Click OK to import the selected objects. If an object generates an error while being imported, the object is probably damaged
beyond repair. You will need to import the object from a backup
database or re-create the object from scratch.
- Repeat steps 2 through 6 until you have imported all the objects into the new database.
- Compile all the imported modules in the new database. To do so, follow these steps:
- In the Database window, click the Modules tab.
- Select a module, and then click Design.
- On the Debug menu, click Compile and Save All Modules (or in Microsoft Access 7.0, on the Run menu, click Compile All Modules, and then on the File menu, click Save All).
- Close the new database and Microsoft Access.
NOTE: If your original database has references to library databases or type libraries, you should make a note of the references. Then, in the
new database, use the References command (in Design view of a module) to add the same references as the original database.
The next time you run Microsoft Access and open this new database, you
should not have the problems of unpredictable behavior or application-
related page faults, assuming the cause was a damaged, fragmented, or
corrupted database. If you still have problems with the database, try
additional troubleshooting steps described in this article to find the
cause of the problem.
Incorrect Registry Settings
If the cause of an invalid page fault or unpredictable behavior in
Microsoft Access is application-related, it may result from incorrect
settings in the Microsoft Windows Registry. You can reset or rebuild the
Registry settings for Microsoft Access by following these steps:
- In Windows 95 or later, click the Start button, and then click Run. (Or in Windows NT 3.51, click Run on the File menu in Program Manager or File Manager.)
- Insert the compact disc for Microsoft Access 97 or Microsoft Office 97 Professional Edition into the CD-ROM drive (or in Microsoft Access 7.0,
insert Disk 1 of the Microsoft Access disks into a floppy drive on your
computer. Or, insert the Microsoft Office Professional for Windows 95
compact disc into the CD-Rom drive).
- Type a command to run the Microsoft Access Setup program using
the /y switch, for example:
a:\setup /y
- In the Installation Maintenance Program box, click Reinstall. The Setup program updates the Windows Registry for Microsoft Access 97 or Microsoft Access 7.0.
- When Setup is complete, try again to start Microsoft Access. If
you receive an invalid page fault or your database behaves
unpredictably (either immediately or after continued use), you should
try additional troubleshooting steps described in this article to find
the cause.
Mismatched DLLs
Another cause of invalid page faults is mismatched dynamic link libraries
(.dll files) in your Windows system. In this case, the library file listed in the error message is often an incorrect version for Microsoft Access, for example:
MSACCESS caused an invalid page fault in <name>.dll
This problem of mismatched DLLs can occur sometimes if any of the
following programs are installed on your computer when you set up
Microsoft Access or Microsoft Office Professional:
- Microsoft Visual Basic version 4.0 with SourceSafe (Enterprise Edition only)
- Microsoft Visual Basic version 4.0 (Standard or Professional Edition)
- Microsoft Office Standard for Windows 95
To resolve the problem of mismatched .dll files, follow these steps:
- Start Windows Explorer and locate your \Windows\System folder. Search
for the library file listed in the page fault error message that you received, and then rename the library file to a unique name.
- Uninstall Microsoft Access or Microsoft Office Professional and any of the programs listed earlier in this section that you had installed on your computer at the time that you received the error message. To do so, follow these steps.
NOTE: If you have Microsoft Visual Basic with SourceSafe installed, you do not need to uninstall the Visual Basic program. You only need to remove the SourceSafe component.
- In Windows 95 or later, click the Start button, point to Settings, and then click Control Panel.
- In Control Panel, double-click Add/Remove Programs.
- In the Add/Remove Programs Properties dialog box, select the program to uninstall, and then click Add/Remove.
- Follow the instructions to remove all of the program.
- Reinstall Microsoft Access and/or Microsoft Office Professional by
following these steps.
NOTE: Be sure to install Microsoft Access first and Microsoft Office second when you reinstall the two programs. This setup order is
important to avoid the problem of mismatched .dll files on your
system.
- Click the Start button, point to Settings, and then click Control Panel.
- In Control Panel, double-click Add/Remove Programs.
- In the Add/Remove Programs Properties dialog box, click Install.
- Follow the instructions to install the program on your computer.
NOTE: If you removed Microsoft SourceSafe, you can repeat step 3 to
reinstall the SourceSafe component of Visual Basic (Enterprise
Edition).
If you removed all of Visual Basic, you can reinstall the program by
repeating step 3.
If you removed Microsoft Office Standard for Windows 95, you can
reinstall the program by repeating step 3.
If you continue to receive invalid page faults after investigating
application-related causes, you should try trouble-shooting the system-
related problems, which are described below.
System-Related Problems
This section discusses system-related causes for invalid page faults in
the Windows 95 operating system. If you run Microsoft Access under
Windows NT, many of the troubleshooting concepts discussed in this
section are still applicable. However, the step-by-step instructions for
implementing them may be different. You should consult your Windows NT
documentation for more information about troubleshooting these system-
related causes.
Memory Conflict
A common cause of invalid page faults is a memory conflict involving a
device driver, terminate-and-stay resident (TSR) programs, a system
component, or some other loaded file. To troubleshoot a memory conflict,
the first step is to restart Windows 95 in Safe Mode.
Safe mode bypasses startup files, including the Registry, Config.sys,
Autoexec.bat, and the [Boot] and [386Enh] sections of the System.ini, and
provides you with access to the Windows 95 configuration files. Only
essential system files and device drivers (such as mouse, keyboard, and
standard VGA) are loaded. This makes Safe Mode useful for isolating and
solving memory conflicts.
To start Windows 95 in Safe Mode:
- Restart the computer. When the Starting Windows 95 (or later) message appears, press F8.
- Select the Safe Mode startup menu option (or press F5).
- Restart Microsoft Access and try to reproduce the invalid page fault.
If you cannot reproduce the invalid page fault, then the cause is most
likely system-related. To isolate the specific cause, you should
restart your computer and step through the startup commands line-by-
line. For more information about this technique, search for "step-by-
step," and then "Going through the startup commands line by line" using
the Find option in the Windows 95 or later Help topics.
If you can reproduce the invalid page fault in Safe Mode, then you can
try additional troubleshooting steps discussed in this article. Also,
you can try to clean boot your computer. For information about how to
perform a clean boot in Windows 95 or later, please see the following article in the Microsoft Knowledge Base:
Q136337 Troubleshooting Windows 95 Startup Problems and Error Messages
For more information about files loaded when starting Windows 95 or later in Safe Mode, please see the following article in the Microsoft Knowledge Base:
Q122051 How Windows 95 Performs a Safe-Mode Start
Temp Folder Problem
You can sometimes experience unpredictable behavior in Microsoft Access
when you do not have enough disk space for temporary files. You should
periodically remove any leftover temporary files on your system. Also,
make sure that you have at least 8 to10 megabytes (MB) of free space on the
hard disk that contains your temporary (Temp) folder.
To remove any remaining temporary files, follow these steps:
Windows 95:
- Restart your computer. Press the F8 key when you see the Starting
Windows 95 (or later) message, and then choose "Safe mode command prompt only."
- Type set and press ENTER. Note the
location of the Temp variable.
- Change to the folder noted in step 2. For example, if Temp is set
to C:\Windows\Temp, type the following line and then press ENTER:
cd\windows\temp
- Delete any temporary files in this folder. Temporary files
typically have a .tmp extension. To delete these files, type the
following line, and then press ENTER:
del *.tmp
NOTE: You should not delete these files from within the Windows graphical user interface (GUI) because Windows or a Windows-
based application may be using one of these files.
- If the computer has a reset button, press it now. Otherwise, press
CTRL+ALT+DELETE to restart the computer, which will start Windows 95 or later in normal mode.
Video Problem
Occasionally in Microsoft Access, you can experience page faults or
unpredictable screen behavior because of a video driver conflict or an
incorrect graphics hardware setting for your system.
Video Driver Conflict
To troubleshoot a video driver conflict, you should change your
system's video adapter to Standard VGA, which should work with most
monitors. To do so, follow these steps:
- Click the Start button, point to Settings, and then click Control Panel.
- Double-click the Display icon.
- In the Display Properties box, click the Settings tab.
- Click the Change Display Type button.
- Click the Change button for the Adapter type.
- Click the Show All Devices button.
- Select the first item in the Manufacturer list: (Standard
display types).
- In the Models list, select Standard Display Adapter (VGA).
- Click OK.
- Close the Display Properties dialog box. When you are asked to restart your computer, click Yes.
If changing to the standard VGA display adapter solves the page fault
or unexpected screen behavior problems in Microsoft Access, you should
contact the manufacturer of the adapter to find out if an updated
driver is available.
Graphics Hardware Settings
To determine if an invalid page fault is caused by the way Windows 95 or later uses your video card, you can try modifying the graphics hardware
settings. To do so, follow these steps:
- Click the Start button, point to Settings, and then click Control Panel.
- Double-click the System icon.
- Click the Performance tab, and then click the Graphics button in the Advanced Settings section.
- Move the Hardware Acceleration slider to the None setting (all the way to the left), and then click OK.
- In the System Properties box, click OK.
For more information about troubleshooting video problems, please see
the following article in the Microsoft Knowledge Base:
Q127139 Troubleshooting Video Problems in Windows 95
Printer Driver Problem
When you try to print in Microsoft Access, if you receive an invalid page
fault or experience printing problems, you can try the Generic/Text Only
driver in Windows 95 or later. To do so, follow these steps:
- Click the Start button, point to Settings, and then click Printers.
- Double-click the Add Printer icon and follow the instructions in the Add Printer Wizard to install the Generic/Text Only printer driver.
- Try to print from Microsoft Access with this driver.
NOTE: If the printing problems exist for Generic/Text Only driver as well as another driver, the problem is most likely not driver-specific.
However, if the printing problem seems to be corrected by using a
different printer driver, follow these steps to remove and reinstall the
first printer driver:
- Click the Start button, point to Settings, and then click Printers.
- Use the right mouse button to click the printer that you want to remove, and then click Delete on the menu that appears.
- If you are prompted to remove all the files associated with the
printer, click Yes.
- Click the Start button, point to Settings, and then click Printers.
- Double-click the Add Printer icon and follow the instructions in the Add Printer Wizard to reinstall the original printer driver.
NOTE: If reinstalling the printer driver does not solve the printing problems, you can try using a different driver or the Generic/Text
Only driver again. Also, you should contact the printer driver
manufacturer to report the problem and find out if an updated driver
is available.
Incorrect Virtual Memory Settings
You can occasionally receive unexpected behavior in Microsoft Access when
the virtual memory setting is too low for your system. Windows 95 and later uses a dynamic virtual memory manager to handle swap file duties. You should use the default virtual memory settings whenever possible.
However, if you suspect that the unexpected behavior in Microsoft Access is
caused by low virtual memory, you can try manually changing the virtual
memory settings. If the maximum setting for virtual memory is already set,
you may need to choose a different hard disk or remove files from the
current hard disk to increase the amount of disk space reserved for extra
memory. You can increase the amount of hard disk space reserved for extra
memory by following these steps:
- Click the Start button, point to Settings, and then click Control Panel.
- Double-click the System icon.
- Click the Performance tab, and then click the Virtual Memory button.
- Click the Let me specify my own Virtual Memory Settings button.
- Select a hard disk, and then increase the minimum and maximum settings as necessary.
- Click OK.
For more information about virtual memory in Windows 95 or later, please see the following article in the Microsoft Knowledge Base:
Q128327 How Windows 95 Manages Virtual Memory
Incorrect File-System Settings
Unpredictable behavior in Microsoft Access may be caused (in rare cases)
by incorrect settings for Windows file-system performance. To test these
settings, you can try turning on or off file-system options such as
Disable New File Sharing and Locking Semantics or Disable All 32-bit, Protected-Mode Disk Drivers.
To try different file-system settings:
- Click the Start button, point to Settings, and then click Control Panel.
- Double-click the System icon.
- Click the Performance tab.
- Click the File System button.
- Click the Troubleshooting tab.
- Set the options to different settings, and then click OK.
If modifying the file-system performance settings does not solve the
unpredictable behavior in Microsoft Access, repeat the steps above to
reset the file-system performance options to their original settings.
Then, you can try other troubleshooting steps in this article to isolate
the cause of the problems.
Hard disk Fragmentation or Errors
If an invalid page fault is the result of disk fragmentation or hard disk
errors, you can use ScanDisk and Disk Defragmenter (Defrag.exe) to
correct the problem.
To use ScanDisk, follow these steps:
- Click the Start button, point to Programs, Accessories, System Tools, and then click ScanDisk.
- Select the drive that contains your Microsoft Access folder.
- Click Thorough as the Type Of Test option.
- Click Start.
- If errors are reported, be sure to let ScanDisk fix the problems.
To use Disk Defragmenter, follow these steps:
- Click the Start button, point to Programs, Accessories, System Tools, and click Disk Defragmenter.
- Select the drive that contains your Microsoft Access folder and
click OK.
- In the Disk Defragmenter box, click Start.
REFERENCES
Microsoft Windows 95 Resource Kit. Redmond, Washington: Microsoft Press,
1995.
Microsoft Jet Database Programmer's Guide. Redmond, Washington: Microsoft
Press, 1996.
For more information about specific invalid page fault error messages,
please see the following articles in the Microsoft Knowledge Base:
Q141222 ACC95: "Invalid Page Fault in VBA232.DLL" Error Message
Q141293 ACC95: "Invalid Page Fault in MSSETUP.DLL" Error Message
Q140121 OFF7: Setup Errors with Reinstallation of Small Business Pack
Q141626 ADT/ODE: Invalid Page Fault in Module ACMESETUP.EXE
Q163349 PRA: IPF Adding DB with Large Number of Objects to VSS 4.0
Q163352 ACC97: IPF After Changing Toggle Buttons in Option Group
Q163056 PRA: Access IPF Using Find on Object That Is Checked In
Additional query words:
tshoot ipf trouble shoot shooting faults msjet35.dll msjet dll program has performed an illegal operation msaccess.exe ms
Keywords : kbenv
Version : WINDOWS:7.0,97
Platform : WINDOWS
Issue type :
Last Reviewed: June 15, 1999