12/27/94, ACSPKB.TXT - Text version of Knowledge Base articles
relating to the Microsoft Access 2.0 Service Pack

Q122927	WX1124: Microsoft Access Version 2.0 Service Pack
Q123823	INF: MS Access Version 2.0 Service Pack Questions and Answers
Q123708	INF: Directory Contents of Service Pack File ACCSVC.EXE
Q123589	PRA: Error Message "Couldn't Open SYSTEM.MDA"
Q123588	INF: Microsoft Access Repair Utility Enhanced
Q123593	INF: OLE 2.02 Required to Use Custom Controls
Q123591	PRA: Resources Lost Printing Reports with OLE Objects
Q123590	INF: Fixes to xBASE ISAM in MS Access Service Pack
Q123592	INF: Fixes to Paradox ISAM in MS Access Service Pack
Q123594	INF: Fixes to Btrieve ISAM in MS Access Service Pack
Q121898	PRA: GP Fault Creating Report Based on Query with Subquery
Q123335	PRA: GP Fault Running Report Based on Union Query
Q123587	PRA: Constant in ORDER BY Clause of Union Query Is Ignored
Q119077	PRA: Error (-1310) Running Crosstab or Totalling Query
Q115902	PRB: "Can't Have More Than 10 Fields In an Index" Error Msg
Q123709	PRA: Ordinal Number in SQL ORDER BY Clause Ignored
Q124183	PRB: SetupWizard Templates Lost Installing Service Pack
#######	PRA: Query Fails When Using Form-Based Parameter
Q119711	PRA: Union Query with Calculated Field May Cause GP Fault


********************************************************************
Q122927
WX1124: Microsoft Access Version 2.0 Service Pack

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

The Microsoft Access version 2.0 Service Pack contains files that
replace existing files in your current Microsoft Access version 2.0
installation. The Service Pack includes the latest versions of:

 - The Microsoft Jet database engine (version 2.5).

 - The OLE dynamic-link libraries (version 2.02).

 - The Btrieve, Paradox, and xBASE installable ISAM drivers.

The Microsoft Jet database engine has been modified to enhance
database repair functionality and to correct the erroneous setting of
an internal database flag that in some cases results in the message
"Couldn't open SYSTEM.MDA." The OLE dynamic-link libraries (DLLs) have
been modified to allow the use of OLE custom controls created by
third-party vendors and also to correct problems with diminished
system resources when printing reports containing embedded Microsoft
Graph objects. The installable ISAM drivers have been modified to
correct various minor problems.

You can obtain the Service Pack by downloading the files from one of the
services listed below.

MORE INFORMATION
================

Download Services
-----------------

The Service Pack is available as a self-extracting file called ACCSVC.EXE
in the Microsoft Software Library (MSL) on the following services:

 - CompuServe
      GO MSL
      Search for ACCSVC.EXE
      Display results and download

 - Microsoft Download Service (MSDL)
      Dial (206) 936-6735 to connect to MSDL
      Download ACCSVC.EXE

 - Internet (anonymous FTP)
      ftp ftp.microsoft.com
      Change to the \SOFTLIB\MSLFILES directory
      Get ACCSVC.EXE

Additional reference words: 2.00 appnote jet25 jet 2.5


********************************************************************
Q123823 
INF: MS Access Version 2.0 Service Pack Questions and Answers 

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

 1.  Q. Why is Microsoft releasing a Service Pack for Microsoft Access
        version 2.0?

     A. We are releasing the Microsoft Access version 2.0 Service Pack for
        several reasons. The Service Pack fixes a harmless but irritating
        problem that causes an internal database flag that is used to
        determine the state of data in the database to be erroneously set,
        sometimes causing the error message "Couldn't open SYSTEM.MDA." In
        order to work around this problem, customers have to run the repair
        utility on the database, a process that can be lengthy for large
        databases. The problem does not cause damage to the database or
        data in it, but can be inconvenient. The Service Pack also includes
        updated OLE dynamic-link library (DLL) files that allow third-party
        OLE custom controls to run in Microsoft Access 2.0, updated
        Paradox, Btrieve, and xBASE ISAM drivers, and an updated Setup
        Wizard.

 2.  Q. Who should install the Service Pack?

     A. All Microsoft Access version 2.0 users should install the Service
        Pack, because it corrects problems and enhances certain features.
        It is particularly important to those who are:

         - Involved in multiuser database work.

         - Using OLE custom controls in their database applications.

         - Working with Btrieve, Paradox, or xBASE data.

        The Service Pack will be available in all the languages that
        Microsoft Access is available in. Please contact the Microsoft
        sales office in your country for more details.

 3.  Q. What is included in the Service Pack?

     A. The Service Pack includes the latest versions of:

         - The Microsoft Jet database engine (version 2.5).

         - The OLE DLLs (version 2.02).

         - The Btrieve, Paradox, and xBASE ISAM drivers.

        The Service Pack also includes an updated Setup Wizard, a brief
        Readme file, and a Setup program that will install the new files
        only if it finds Microsoft Access version 2.0 and the Microsoft Jet
        database engine version 2.0.

 4.  Q. What is the Microsoft Jet database engine version 2.5?

     A. The Microsoft Jet database engine version 2.5 is an updated version
        of the database engine that ships with Microsoft Access 2.0 and
        Microsoft Visual Basic version 3.0. The Microsoft Jet database
        engine has been modified to enhance database repair functionality
        and to correct the erroneous setting of an internal database flag
        that in some cases results in the error message "Couldn't open
        SYSTEM.MDA."

        Note that the Visual Basic Compatibility Layer will continue
        to work seamlessly with this new version of the Microsoft Jet
        database engine.

 5.  Q. What is OLE 2.02?

     A. OLE 2.02 is a minor upgrade to the OLE libraries shipped with
        Microsoft Access 2.0. These new libraries are included primarily
        because third-party custom controls will expect to find these
        libraries installed. Developers using third-party controls or
        controls distributed by other Microsoft products should install
        these libraries.

 6.  Q. How do I obtain the Service Pack?

     A. You can obtain the Service Pack from the following sources:

         - Internet
         - CompuServe (MSACCESS forum and MSL)
         - Microsoft Download Service (MSDL) (1-206-936-6735)
         - FastTips (1-800-936-4100)
         - GEnie
         - America Online

        International customers should contact their local subsidiary to
        obtain the Service Pack. Microsoft cannot mail the Service Pack
        disks overseas. The Service Pack will be available in all the
        languages that Microsoft Access is available in.

 7.  Q. How much does the Service Pack cost?

     A. There is no charge for the Service Pack.

 8.  Q. Will Microsoft include the Service Pack files in Microsoft Access
        version 2.0?

     A. There are no plans to include this software in Microsoft Access
        version 2.0.

 9.  Q. My company has several workstations that need the Service Pack.
        Do I have to obtain as many copies of the Service Pack as we have
        workstations?

     A. The Service Pack license allows you to install the software on any
        workstation that has a valid license for Microsoft Access. You need
        only obtain one copy of the Service Pack to install it on these
        computers.

10.  Q. What is the enhanced repair functionality in the Microsoft Jet
        database engine version 2.5?

     A. The Microsoft Jet database engine version 2.5 can repair or recover
        information in some cases where it was not possible to do so
        before. For detailed information, please see the following article
        in the Microsoft Knowledge Base:

           ARTICLE-ID: Q123588
           TITLE     : INF: Microsoft Access Repair Utility Enhanced

11.  Q. What files are affected by the Microsoft Access version 2.0
        Service Pack?

     A. The Service Pack updates the following existing files:

         - BTRV200.DLL
         - COMPOBJ.DLL
         - CTL3D.DLL
         - MSAJT200.DLL
         - MSAJU200.DLL
         - MSJETERR.DLL
         - MSJETINT.DLL
         - OLE2.DLL
         - OLE2.REG
         - OLE2CONV.DLL
         - OLE2DISP.DLL
         - OLE2NLS.DLL
         - OLE2PROX.DLL
         - PDX200.DLL
         - STDOLE.TLB
         - STORAGE.DLL
         - TYPELIB.DLL
         - XBS200.DLL

        The Service Pack adds the following new files:

         - JETVER.TXT
         - READSRV.TXT

12.  Q. Is my Visual Basic installation affected by the Service Pack?

     A. No. If you are using the Visual Basic Compatibility Layer (VBCL)
        and you have updated to the Microsoft Jet database engine version
        2.0, the Microsoft Jet database engine will be upgraded for you
        automatically when you install the Service Pack. Your applications
        will run without change. If you are using Visual Basic 3.0 and have
        not installed the VBCL, nothing will be updated.

13.  Q. Is this a new version of Microsoft Access? Is it 32-bit?

     A. The Service Pack is not a new version of Microsoft Access, and it
        is not 32-bit. Rather, it is a free upgrade that updates key
        components of your current Microsoft Access installation to fix
        certain problems and augment specific functionality.

14.  Q. If some of my users install the Service Pack and some do not, will
        there be problems sharing the same databases or applications?

     A. No. Users with the Service Pack will be fully interoperable with
        users who have not installed the Service Pack. The problem that
        results in the error message "Couldn't open SYSTEM.MDA" (as
        described in question 1) may still occur until all users have
        installed the Service Pack.

15.  Q. How can I get a complete list of all the problems fixed and
        differences in the Service Pack?

     A. Search in the Microsoft Access Knowledge Base (KB) for "Jet 2.5."
        You can obtain the Microsoft Access KB Help files by calling the
        Microsoft FastTips system at 1-800-936-4100 and having disks mailed
        to you, or by downloading the files from any of the following
        services. When you connect to one of the following services with
        your account information, follow these instructions to find the KB
        Help files:

         - On Internet, look in DESKAPPS\ACCESS\KB\README.TXT.

         - On CompuServe, type "GO MSKB" (without quotation marks).

         - On GEnie, type "M 505" (without quotation marks).

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123708
INF: Directory Contents of Service Pack File ACCSVC.EXE

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

The Microsoft Access version 2.0 Service Pack is contained in a self-
extracting file called ACCSVC.EXE. To extract its contents, run the file.

MORE INFORMATION
================

When you run the ACCSVC.EXE file, it creates a subdirectory called ACCSVC
off the root directory of your hard disk, and then creates two
subdirectories called DISK1 and DISK2 below the ACCSVC subdirectory.
Following is a directory listing of the files in these subdirectories.

Directory of the ACCSVC Subdirectory
------------------------------------

DISK1        <DIR>         12-02-94   4:52p
DISK2        <DIR>         12-02-94   4:52p
LICENSE  TXT         2,583 11-21-94  11:36a

Directory of the ACCSVC\DISK1 Subdirectory
------------------------------------------

ACMSETUP EX_       106,497 11-20-94   9:02p
ACMSETUP HL_        12,618 11-20-94   9:02p
ADMIN    IN_           962 11-20-94   9:05p
BTRV200  DL_        57,148 11-20-94   9:02p
COMPLINC DLL        21,408 11-21-94  11:49a
COMPOBJ  DL_        50,855 11-20-94   9:03p
CTL3D    DL_        10,085 11-20-94   9:02p
MSACAHBB DL_        61,904 11-20-94   9:02p
MSAJT200 DL_       504,413 11-20-94   9:03p
MSCPYDIS DL_         8,805 11-20-94   9:02p
MSJETERR DL_         6,270 11-20-94   9:03p
MSJETINT DL_        10,846 11-20-94   9:03p
MSSETUP  DL_        91,812 11-20-94   9:02p
OLE2     RE_         2,901 11-20-94   9:03p
OLE2CONV DL_        29,914 11-20-94   9:03p
PDX200   DL_       121,341 11-20-94   9:02p
READSRV  TXT        16,551 11-20-94   9:02p
SETUP    EXE        39,856 11-20-94   9:02p
SETUP    INI           149 11-20-94   9:02p
SETUP    IN_         1,020 11-20-94   9:03p
SETUP    LST           620 11-21-94  11:50a
SETUP    STF        38,282 11-21-94  11:50a
STDOLE   TL_         1,849 11-20-94   9:03p
XBS200   DL_       151,014 11-20-94   9:02p
_MSSETUP EX_         9,147 11-20-94   9:02p

Directory of the ACCSVC\DISK2 subdirectory
------------------------------------------

DECOMP   EXE        39,044 11-20-94   9:03p
JETVER   TX_         1,622 11-20-94   9:03p
MSAJU200 DL_        48,484 11-20-94   9:03p
OLE2     DL_       136,986 11-20-94   9:03p
OLE2DISP DL_        68,223 11-20-94   9:03p
OLE2NLS  DL_        42,410 11-20-94   9:03p
OLE2PROX DL_        17,894 11-20-94   9:03p
SETUPWIZ MD_       183,653 11-20-94   9:03p
STORAGE  DL_        68,920 11-20-94   9:03p
TYPELIB  DL_        90,645 11-20-94   9:03p

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123589
PRA: Error Message "Couldn't Open SYSTEM.MDA"

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you start Microsoft Access, you receive either of the following error
messages:

 - Couldn't open SYSTEM.MDA

   -or-

 - <Database> is corrupted or is not a database file. Attempt to
   repair?

CAUSE
=====

The Microsoft Jet database engine version 2.0 may erroneously leave an
internal database flag set that in some cases results in one of the
error messages stated above.

RESOLUTION
==========

To reset the internal database flag, have all users log out of the database
and then run the repair utility. (To run the repair utility, choose Repair
from the File menu.) If you receive the "Couldn't open SYSTEM.MDA" error
message, all users should quit Microsoft Access. When the first user logs
back in, the SYSTEM.MDA file is repaired automatically. No data will be
lost as a result of the internal database flag being set erroneously.

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123588
INF: Microsoft Access Repair Utility Enhanced

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

The Microsoft Access repair utility has been enhanced so that more
databases can be repaired successfully. The enhancement enables the repair
utility to traverse a table from beginning to end, and from end to
beginning if needed, allowing the utility to recover data pages that could
not be recovered before the enhancement. A data page can become damaged if
the computer is turned off while a data pages contains changes that have
not been saved.

MORE INFORMATION
================

This enhancement is included in the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

REFERENCES
==========

For more information about repairing databases, search for "repairing
databases" then "Repairing a Database" using the Microsoft Access
Help menu.

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123593
INF: OLE 2.02 Required to Use Custom Controls

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

OLE controls created with the OLE Control Developer's Kit shipped with
Microsoft Visual C++ version 2.0 require users to install OLE version
2.02.

Trying to register such a control in Microsoft Access will cause the
following error message:

   Insert Object: <OLE Control> was unable to add itself to your system.
   Install the control using a separate setup utility.

Using a utility such as REGSVR.EXE or MSAREG.EXE will result in the error
message:

   DllRegisterServer in <OLE Control> failed.

MORE INFORMATION
================

To use OLE controls created with the OLE Control Developer's Kit with
Microsoft Access, install OLE 2.02.

OLE 2.02 is available with the Microsoft Access version 2.0 Service Pack.
For information about how to obtain the Service Pack, please see the
following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

The following OLE 2.02 files are installed when you install the Service
Pack:

   File Name      Size     Version
   ----------------------------------
   COMPOBJ.DLL    108544   2.02
   OLE2.DLL       302592   2.02
   OLE2CONV.DLL   57328    2.01
   OLE2DISP.DLL   164832   2.02
   OLE2NLS.DLL    150976   2.02
   OLE2PROX.DLL   51712    2.02
   STORAGE.DLL    157696   2.02
   TYPELIB.DLL    177216   2.02
   OLE2.REG       27026    Not marked
   STDOLE.TLB     4304     Not marked

There is another OLE file called OC25.DLL that can be distributed by
developers. This file is usually packaged with OLE controls.

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123591
PRA: Resources Lost Printing Reports with OLE Objects

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you print a form or report containing several OLE objects (such as
charts created in Microsoft Graph), Microsoft Access appears to reduce
the available Microsoft Windows system resources until the available system
resources reach zero.

When the Windows system resources reach zero, different results can occur,
depending on the operating system and version of Windows running on your
computer. Windows may seem to run slowly, parts of the Windows environment
may seem to disappear, or you may receive a general protection (GP) fault
error message.

STATUS
======

This problem no longer occurs with OLE 2.02, which is available with the
Microsoft Access version 2.0 Service Pack. For information about how to
obtain the Service Pack, please see the following article in the Microsoft
Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

MORE INFORMATION
================

The new OLE 2.02 dynamic-link library (DLL) files have been created to
coincide with the release of Microsoft Windows NT Workstation 3.5. These
new DLLs provide hooks for 16/32 interoperability for 32-bit applications.

OLE 2.01 contains limitations that can cause problems in large networks
and with screen palettes. OLE 2.02 corrects the following problems:

 - A limit of 20 users who can access a read-only file.

 - A 4 GB high lock on a network read (such as on DEC Pathworks version
   4.x).

 - A GP fault during multiple palette use.

Additional reference words: 2.00 jet25 jet 2.5 gpf


********************************************************************
Q123590
INF: Fixes to xBASE ISAM in MS Access Service Pack

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

The Microsoft Access version 2.0 Service Pack includes the following new
xBASE ISAM:

   File Name    Size      Date
   ---------------------------------------
   XBS200.DLL   296,832   11/20/94  12:00a

MORE INFORMATION
================

The new xBASE ISAM corrects the following issues using xBASE data with
Microsoft Access:

 - The new ISAM correctly reads the <filename>.INF file that gets
   created when you attach an xBASE table and provide a unique
   index. Using the prior ISAM can cause performance problems because
   indexes are not used correctly.

 - The new ISAM translates extended characters in international code
   pages into Windows ANSI codes correctly. Using the prior ISAM, for
   example, extended character 130 could be translated as an underscore
   character instead of an accented "e."

 - The new ISAM can create 64 indexes on an xBASE table.

 - The new ISAM no longer generates "Invalid disk access" or "Disk I/O"
   error messages using some multiuser xBASE tables.

 - The new ISAM expands the range of valid data in xBASE tables from
   1/1/1753 through 12/31/2078 to 1/1/100 through 12/31/9999.

The new xBASE ISAM is included in the Microsoft Access version 2.0 Service
Pack. For information about how to obtain the Service Pack, please see the
following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123592
INF: Fixes to Paradox ISAM in MS Access Service Pack

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

The Microsoft Access version 2.0 Service Pack includes the following new
Paradox ISAM:

   File Name    Size      Date
   ---------------------------------------
   PDX200.DLL   233,328   11/20/94  12:00a

MORE INFORMATION
================

The new Paradox ISAM corrects the following issues:

 - The new ISAM corrects problems trying to create indexes for
   Paradox tables with a long directory path.

 - Tables marked read-only cannot be renamed using the new Paradox
   ISAM.

The new Paradox ISAM is included in the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack, please
see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123594
INF: Fixes to Btrieve ISAM in MS Access Service Pack

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SUMMARY
=======

The Microsoft Access version 2.0 Service Pack includes the following new
Btrieve ISAM:

   File Name     Size      Date
   ----------------------------------------
   BTRV200.DLL   111,616   11/20/94  12:00a

MORE INFORMATION
================

The new Btrieve ISAM fixes issues using Btrieve data with Microsoft Access.
The new ISAM:

 - Improves performance in queries based on multisegmented indexes
   and indexes based on type 8 (COBOL Numeric data type) fields.

 - Fixes problems where incorrect results are produced in queries
   using indexes based on type 8 (COBOL Numeric data type) fields.

 - Fixes the error that causes the error message "Unexpected error from
   external database driver [7]" to be returned to Microsoft Access
   when you are using a Btrieve version 6.x NLM.

The new Btrieve ISAM is included in the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack, please
see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q121898
PRA: GP Fault Creating Report Based on Query with Subquery

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you create a report based on a parameter query that contains a
subquery, you receive the following general protection (GP) fault error
message:

   MSACCESS caused a General Protection Fault in module MSAJT200.DLL
   at <address>

This error occurs regardless of whether the parameter is declared, and
regardless of whether the report is created manually or with a Report
Wizard.

RESOLUTION
==========

Convert your parameter query to a make-table query and then run the query
to create a new table. Use the new table as the record source for the
report, rather than the parameter query.

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

MORE INFORMATION
================

Steps to Reproduce Problem
--------------------------

WARNING: Following these steps will cause a GP fault on your computer.
Make sure to save and close any open work on your computer before
following these steps.

1. Start Microsoft Access and create a new database called SUBQRY.MDB.

2. Import the Categories and Products tables from the sample database
   NWIND.MDB into the SUBQRY database.

3. Create the following new query based on the Categories and Products
   tables, and then save the query as Query1.

   NOTE: In the following sample query, an underscore (_) at the end of a
   line is used as a line-continuation character. Remove the underscore
   from the end of the line when re-creating this query.

      Query: Query1
      -------------------------------------------------------
      Field: Category ID
         Table: Categories
      Field: Supplier ID
         Table: Products
         Criteria: [Enter a Supplier ID]
      Field: Cat: (SELECT [Category Name] FROM [Categories] _
             WHERE [Products].[Category ID]=_
             [Categories].[Category ID])

4. Close the query.

5. Select the Query1 query in the Database window.

6. Click the AutoReport button on the toolbar.

Additional reference words: 2.00 gpf jet25 jet 2.5


********************************************************************
Q123335
PRA: GP Fault Running Report Based on Union Query

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you preview or print a report that is based on a union query (or on a
query that includes a union query) and one or more of the report fields is
sorted and grouped, you receive a general protection (GP) fault error
message.

CAUSE
=====

This problem is caused by a fault in the Microsoft Jet database engine.

RESOLUTION
==========

Run a make-table query first, then base the report on the new table rather
than the union query.

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

Additional reference words: 2.00 gpf jet25 jet 2.5


********************************************************************
Q123587
PRA: Constant in ORDER BY Clause of Union Query Is Ignored

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you run a union query containing an ORDER BY clause that references
a constant, the constant value is ignored.

If the reference to the constant is the only item in the ORDER BY clause,
no ordering of the data is performed. If the ORDER BY clause contains
additional items, however, ordering by the other items is performed.

RESOLUTION
==========

Create another query based on the union query, and then sort the data in
the new query.

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

MORE INFORMATION
================

Steps to Reproduce Problem
--------------------------

1. Start Microsoft Access and open the sample database NWIND.MDB.

2. Create a new union query using the following SQL statement:

      SELECT DISTINCTROW Employees.[Last Name], Employees.Title,
       "Emp" AS Source
      FROM Employees
      UNION SELECT DISTINCTROW Customers.[Contact Name],
       Customers.[Contact Title], "Cust"
      FROM Customers ORDER BY [Source];

3. Run the query.

Note that the data is not ordered as you expect.

REFERENCES
==========

For more information about using constants in union queries, please
see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q114731
   TITLE     : INF: Shortcut Method for Creating an SQL Union Query

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q119077
PRA: Error (-1310) Running Crosstab or Totalling Query

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you run a query that contains aggregate functions, you receive the
error message:

   Reserved error (-1310); there is no message for this error.

This problem only occurs with queries for which all of the following
conditions are true:

 - The query does not contain remote (ODBC) tables.

 - The query contains three or more tables, and can be divided into two or
   more queries to obtain the same results.

 - The query does not have any criteria on the aggregate fields.

CAUSE
=====

This error is caused by the query optimizer. Any change made to the query
or its underlying tables (such as adding criteria to the query, adding
indexes to or removing them from underlying tables, or adding rows to
underlying tables, and then resaving the query) that causes Microsoft
Access to change its query optimization strategy can either result in or
resolve this error.

RESOLUTION
==========

Method 1
--------

The best way to prevent this error is to divide the query into two or more
separate queries that produce the same result. For example, the following
sample query returns the average unit price for each customer and the
quantity of items sold, using the sample database NWIND.MDB. This query
will result in the error message stated above:

   Tables: Customers, Orders, Order Details
      Group By: [Customers].[Company Name]
      Group By: [Order Details].[Quantity]
      Avg: [Order Details].[Unit Price]

You can divide this query into two queries by following these steps:

1. Remove the Customers table from the query.

2. Drag the Customer ID field from the Orders table to the query grid.

3. In the Total row of the Customer ID column, select Group By.

4. Verify that the query runs correctly, then save it as TempTotals.

5. Create a new query based on the TempTotals query and the Customers
   table. Note that the table and query automatically join on the Customer
   ID field.

6. Drag the Company Name field from the Customers table, and the Quantity
   and AvgOfUnit Price fields from the TempTotals query, to the query grid.

Method 2
--------

Adding criteria to your query can prevent the error from occurring. Add
criteria that do not affect the outcome of the query, such as comparing a
field to itself. For example, you could use the following criterion for a
query that includes the Customers, Orders, and Order Details tables:

   Customers.[Customer ID]=Customers.[Customer ID]

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

MORE INFORMATION
================

Steps to Reproduce Problem
--------------------------

1. Open the sample database NWIND.MDB.

2. Create a new query based on the Customers, Orders, and Order Details
   tables. Note that the tables join automatically.

3. Drag the Company Name field from the Customers table to the query grid.
   Drag the Quantity and Unit Price fields from the Order Details table to
   the query grid.

4. From the View menu, choose Totals. In the Total row for the Company
   Name and Quantity columns, select Group By. In the Total row for the
   Unit Price column, select Avg.

   Note that the SQL statement for this query is:

   SELECT DISTINCTROW Customers.[Company Name],
       [Order Details].Quantity, Avg([Order Details].[Unit Price])
       AS [AvgOfUnit Price]
   FROM Customers INNER JOIN (Orders INNER JOIN
       [Order Details] ON Orders.[Order ID] = [Order Details].[Order ID])
       ON Customers.[Customer ID] = Orders.[Customer ID]
   GROUP BY Customers.[Company Name], [Order Details].Quantity;

5. Run the query. You will receive the error message stated above.

Additional reference words: 2.00 queries querying jet25 jet 2.5


********************************************************************
Q115902
PRB: "Can't Have More Than 10 Fields In an Index" Error Msg

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

You receive the following error message when using a domain function or
running a query:

   Can't have more than 10 fields in an index

or you receive the error message:

   Field won't fit

CAUSE
=====

This error can occur if the following conditions are met:

 - The underlying table contains a multiple-field index.

 - More than one field in the index is filtered by the query's criteria.

 - One of the criteria contains the = operator (for example, "='Joe'").

 - One of the criteria includes the Like operator with a wildcard (for
   example, "Like 'Smith*'").

The "Field won't fit" error message occurs because of small numeric
indexes.

RESOLUTION
==========

There are three workarounds for this behavior:

 - Remove the multiple-field index on the underlying table and replace it
   with multiple single-field indexes. Note that you cannot use this method
   if the multiple-field index is the table's primary key. For example,
   change the multiple-field index

      Index Name   Field Name
      -----------------------
      NameIndex    Last Name
                   First Name

   to:

      Index Name   Field Name
      -----------------------
      LNameIndex   Last Name
      FNameIndex   First Name

 - Change the order of the fields in the two-field index on the underlying
   table. For example, change the two-field index

      Index Name    Field Name
      ------------------------
      Primary Key   Invoice #
                    Part #

   to:

      Index Name    Field Name
      ------------------------
      Primary Key   Part #
                    Invoice #

 - Replace the = operator with a Like operator and a wildcard. For
   example, change the query

      ? DLookup("[Birth Date]", "Employees", "[First Name] like 'L*' and _
        [Last Name]='Callahan'")

   to:

      ? DLookup("[Birth Date]", "Employees", "[First Name] like 'L*' and _
        [Last Name] like 'Callahan*'")

   NOTE: In the above sample queries, an underscore (_) at the end of a
   line is used as a line-continuation character. Remove the underscores
   from the ends of the lines when re-creating these queries.

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

MORE INFORMATION
================

Steps to Reproduce Behavior
---------------------------

1. Open the sample database NWIND.MDB.

2. Create a copy of the Employees table. Save the copy table as Test.

3. Open the Test table in Design view.

4. From the View menu, choose Indexes.

5. Delete the existing index on the Last Name field.

6. Create a new index called NameKey. In the Field Name column, select
   Last Name.

7. Select the next cell in the Index Name column. Leave the cell blank.
   In the Field Name column, select First Name. Close the Index dialog box.

8. Open any module and then choose Immediate Window from the View menu.

9. Type the following line in the Immediate window and then press ENTER.

   NOTE: In the following line, an underscore (_) at the end of a line is
   used as a line-continuation character. Remove the underscore from the
   end of the line when re-creating this line.

      ? DLookup("[Birth Date]", "Test", "[First Name] like 'L*' and _
        [Last Name]='Callahan'")

REFERENCES
==========

For more information about the error message "Can't have more than 10
fields in an index" search for "error messages: reference" using the
Microsoft Access Help menu.

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
Q123709
PRA: Ordinal Number in SQL ORDER BY Clause Ignored

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you order the data in a query using an ordinal number in the query's
SQL ORDER BY clause, the ORDER BY clause is ignored. The data is not
ordered, and no error message is generated.

CAUSE
=====

The Microsoft Jet database engine version 2.0 does not support the ordering
of data by ordinal numbers in a SQL ORDER BY clause.

RESOLUTION
==========

The Microsoft Jet database engine version 2.5 does support the ordering of
data by ordinal numbers in a SQL ORDER BY clause.

STATUS
======

This problem no longer occurs with the Microsoft Jet database engine
version 2.5, which is available with the Microsoft Access version 2.0
Service Pack. For information about how to obtain the Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

MORE INFORMATION
================

Ordering data by ordinal numbers refers to ordering data using a numeric
reference in the SQL ORDER BY clause, rather than by a field reference. For
example, in the sample query

   SELECT DISTINCTROW Table1.Names, Table1.Numbers
   FROM Table1
   ORDER BY Table1.Names DESC;

replace the field reference in the ORDER BY clause with:

   ORDER BY 1 DESC;

The number in the ORDER BY clause refers to the order of the fields in the
SELECT statement. In the example above, 1 refers to the first field, Names.

Steps to Reproduce Problem
--------------------------

1. Start Microsoft Access and open the sample database NWIND.MDB.

2. Create a new query based on the Employees table.

3. Drag the First Name and Last Name fields from the field list to the
   query grid.

4. From the View menu, choose SQL.

5. Change the SQL statement so that it reads as follows:

      SELECT DISTINCTROW Employees.[First Name], Employees.[Last Name]
      FROM Employees
      ORDER BY 1 DESC;

6. Run the query. Note that the data is not sorted on the First Name
   field as it should be.

Additional reference words: 2.00 jet25 jet 2.5 ordering


********************************************************************
Q124183
PRB: Setup Wizard Templates Lost Installing Service Pack

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access Developer's Toolkit version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you install the new Setup Wizard that is shipped with the Microsoft
Access version 2.0 Service Pack, the templates you had already defined in
the Setup Wizard are lost.

CAUSE
=====

The new version of the Setup Wizard overwrites the older one when you
unpack it with the Decomp utility included with the Service Pack. When the
older version of the Setup Wizard is overwritten, the existing templates
contained in it are overwritten as well.

RESOLUTION
==========

To work around this behavior, you can import the templates in the older
Setup Wizard into the new version. To do so, follow these steps.

NOTE: You must follow these steps before installing the new Setup Wizard.
If you have already installed the new Setup Wizard (and overwritten the
older Setup Wizard) these steps will not work.

 1. Rename the older Setup Wizard file from SETUPWIZ.MDB to SETUPWIZ.BAK.

 2. Install the new Setup Wizard following the instructions in the
    Service Pack.

 3. Start Microsoft Access. While pressing the SHIFT key, open the
    SETUPWIZ.MDB file. (Pressing the SHIFT key while opening a database
    prevents the database's Autoexec macro from running.)

 4. From the File menu, choose Import. In the Data Source box, select
    Microsoft Access, and then choose the OK button.

 5. In the File Name box, select SETUPWIZ.BAK, and then choose OK.

 6. In the Import Objects dialog box, select the zws_SetupTemplates table
    and then choose the Import button.

 7. Repeat step 6 for the zws_TemplateFiles table.

 8. After the tables are imported, choose the Close button.

 9. Delete the zws_SetupTemplates and zws_TemplateFiles tables. These
    are the empty tables from the new Setup Wizard.

10. Rename the zws_SetupTemplates1 table to zws_SetupTemplates. Rename
    the zws_TemplateFiles1 table to zws_TemplateFiles.

11. Quit Microsoft Access and delete the SETUPWIZ.BAK file.

REFERENCES
==========

For more information about the Microsoft Access version 2.0 Service Pack,
please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q122927
   TITLE     : WX1124: Microsoft Access Version 2.0 Service Pack

Additional reference words: 2.00 jet25 jet 2.5


********************************************************************
#######
 PRA: Query Fails When Using Form-Based Parameter

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

Your query fails when one of the parameters for the query is based on a
 control on a form. For example, an Update query fails if the parameter for
 the Update To statement is a variable or a reference to a text box on a form.

CAUSE
=====

The parameter provided is implicitly declared, and as a result is
 automatically treated as text. The conversion fails, resulting in the error.

This problem occurs only when the parameter is other than text type, and only
 with queries that write data to tables, which are Update queries and Make
 Table queries.

RESOLUTION
==========

To resolve this problem, either wrap the variable with a Conversion function
 like CVDate, CLng, or Ccur, or explicitly datatype the variable in the
 Parameters dialog box. Open this by choosing Parameters from the Query menu.

STATUS
======

Microsoft has confirmed this to be a problem in Microsoft Access
version 2.0 Service Pack. We are researching this problem and will post new
 information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION
================

The example below uses a default date value entered into a text box on a form
 as a parameter for an Update query.

Steps to Reproduce Problem
--------------------------

1. Start Microsoft Access and open the sample database NWIND.MDB.

2. Create a new Update query and add the Employees table.

3. Drag the Birth Date field to the QBE (query by example) grid.

4. Enter [Form1]![field0] in the Update To row.

5. Save the query as "Updater".

6. Create a new, blank form.

7. Add a text box control with the following properties:

      Format: Short Date
      DefaultValue: ="1/1/95"

8. Add a command button with the following function in its OnClick 
   property:

      Sub Button2_Click ()
         DoCmd OpenQuery "Updater"
      End Sub

9. Open the form and click the button. You first get a dialog box 
   stating "Update query will modify data. Continue anyway?". 

10. Choose OK. You then get a dialog box stating "15 row(s) will be 
    updated". 

11. Choose OK again. You then get the error message:

       Errors were encountered: 15 fields were not updated due to type 
       conversion failure. Proceed anyway?

12. Choose Cancel.

Additional reference words: 2.00 forms queries


********************************************************************
Q119711
PRB: Union Query with Calculated Field May Cause GP Fault 

---------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Access version 2.0
---------------------------------------------------------------------

SYMPTOMS
========

When you run a union query containing a calculated field in the first
subquery, and an Order By clause containing the calculated field, you may
receive a general protection (GP) fault error message.

RESOLUTION
==========

Change the order of the subqueries in the union query, or remove the Order
By clause from the query.

MORE INFORMATION
================

Steps to Reproduce Behavior
---------------------------

WARNING: Following the steps in this example will cause your computer to
stop. Save and close any open files before following these steps.

1. Open the sample database NWIND.MDB.

2. Create a new, blank query.

3. From the Query menu, choose SQL Specific then choose Union.

4. Enter the following SQL statement in the Union Query window.

   NOTE: In the following SQL statement, neither the blank lines nor the
   line breaks affect the query. They are used here to improve readability.

      Select [First Name] & " " & [Last Name] as FullName
      From Employees

      Union Select [Contact Name] from Customers
      Order By FullName;

5. Save and then run the query. You will receive a GP fault.

Additional reference words: 2.00 all gpf

