Microsoft KB Archive/304084

From BetaArchive Wiki
Knowledge Base


Article ID: 304084

Article Last Modified on 10/19/2005



APPLIES TO

  • Microsoft Access 2000 Standard Edition



This article was previously published under Q304084

Novice: Requires knowledge of the user interface on single-user computers.

This article applies only to a Microsoft Access database (.mdb).


SYMPTOMS

When you try to add a record to a datasheet that is produced by a query, Access will either stop responding (hang) briefly and eventually quit without a warning or error, or Access may generate one of the following error messages and then quit:

MSACCESS caused an invalid page fault in module MSJET40.DLL

-or-


An application error has occurred and an application log is being generated. MsAccess.exe

-or-


An application error has occurred and an application log is being generated. MsJet40.dll

-or-


Msaccess.exe has generated errors and will be closed by Windows. You will need to restart the program.

-or-


MsJet40.dll has generated errors and will be closed by Windows. You will need to restart the program.

RESOLUTION

This problem is fixed in Microsoft Jet 4.0 Service Pack 6 (SP6) and later. For additional information about how to obtain the latest Jet 4.0 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

239114 How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0 Database Engine


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was fixed in Jet 4.0 Service Pack 6 (SP6).

MORE INFORMATION

This behavior has been confirmed to occur with the following file versions of Msjet40.dll:

   File name     Version      Size               
   ---------------------------------------
   Msjet40.dll   4.0.4431.1   1,503,504 bytes
   Msjet40.dll   4.0.4431.3   1,503,504 bytes  
                


Steps to Reproduce the Behavior

WARNING: If you follow these steps, a general protection fault will occur on your computer. Make sure that you save and then close any open work on your computer before you follow these steps.

  1. Create a new Access 2000 database.
  2. Create the following table in Design view:

       Table: Table1
       ----------------------------
       Field Name: Ticket_ID
       Data Type: AutoNumber
       Indexed: Yes (No Duplicates)
    
       Field Name: TicketDate
       Data Type: Date/Time
    
       Table Properties: Table1
       -------------------------------
       PrimaryKey: Ticket_ID
                        
  3. Save and close the table.
  4. Create the following table in Design view:

       Table: Table2
       ----------------------------
       Field Name: TicketNumberID
       Data Type: AutoNumber
       Indexed: Yes (No Duplicates)
    
       Field Name: Ticket_ID
       Data Type: Number
       Indexed: Yes (Duplicates OK)
    
       Field Name:  TicketItemsDesription
       Data Type:  Text
    
       Table Properties: Table2
       -------------------------------
       PrimaryKey: TicketNumberID
                        
  5. Save and close the Table.
  6. Create the following table in Design view:

       Table: Table3
       ----------------------------
       Field Name: TicketItems_ID_Loc
       Data Type: Number
       Indexed: Yes (No Duplicates)
    
       Field Name: TicketItems_Location
       Data Type: Text
    
       Table Properties: Table3
       -------------------------------
       PrimaryKey: TicketItems_ID_Loc  
                        
  7. Save and close the table.
  8. On the Tools menu, click Relationships. Add Table1, Table2 and Table3 to the Relationships window, and then click Close.
  9. Select the Ticket_ID field in the Table1 table and drag it to the Ticket_ID field in the Table2 table.
  10. In the Edit Relationships window, click to select the Enforce Referential Integrity, Cascade Update Related Fields and Cascade Delete Related Records check boxes.
  11. Click Create to close the Edit Relationships window.
  12. Select the TicketNumberID field in the Table2 table and drag it to the TicketItems_ID_Loc field in the Table3 table.
  13. In the Edit Relationships window, click to select the Enforce Referential Integrity, Cascade Update Related Fields and Cascade Delete Related Record options check boxes.
  14. Click the Join Type button in the Edit Relationships window and select join type 2 in the Join Properties window.
  15. Click OK in the Join Properties window, and then click Create in the Edit Relationships window.
  16. Close the Relationships window, and then save the changes.
  17. Create the following query in Design view:

       Query: MyTables
       ------------------------------
       Type: Select Query
    
       Field: Ticket_ID
       Table: Table1
    
       Field: TicketDate
       Table: Table1
    
       Field: TicketNumberID
       Table: Table2
    
       Field: Ticket_ID
       Table: Table2
    
       Field: TicketItemsDescription
       Table: Table2
    
       Field: TicketItems_ID_Loc
       Table: Table3
    
       Field: TicketItems_Locations
       Table: Table3
                        
  18. Run the MyTables query.
  19. Try to add a new record in the datasheet. After you add data to the first field from the Table2 table and try to move to the next field, note that you receive one of the errors that is mentioned in the "Symptoms" section of this article.



Additional query words: pra crash ipf crashes hangs stops responding

Keywords: kberrmsg kbbug kbfix KB304084