The following list identifies problems that may occur when using Microsoft Access. This list contains all significant, reproducible problems that we have found since releasing the product. The list will be updated on a weekly basis as new problems are identified and validated. If you have recently reported a bug which is not on this list, then it is most likely in the process of being researched and validated. A detailed description of each problem and the suggested work around is also provided below. 1. Incorrect Windows For Workgroups driver can cause file truncation (correct driver included with Microsoft Access) 2. Incorrect LAN Manager driver can cause file truncation (correct driver included with Microsoft Access) 3. Microsoft Access SETUP may have problems with DOS APPEND statement in Autoexec.bat 4. ATI Ultra video driver not compatible with Microsoft Access 5. Microsoft Access SETUP may leave temporary directory and files on disk 6. Problem importing .DBF files where record length exceeds dBASE maximum 7. Microsoft Access cannot use Btrieve data with indexes across column boundaries 8. Fixed Width Import does not correctly translate extended characters 9. Cannot hide modal/popup forms with the OpenForm action 10. Form dynaset references do not always work when using form variables 11. Problem using Running Sum property with control that evaluates to #ERROR 12. Beta versions of ODBC drivers will not work with Microsoft Access 13. STACKER 3.0 incorrectly reports that database files are corrupted 14. Cannot use the CVDate and IsDate functions with empty string argument 15. Cannot declare new form object variable during break mode 16. Cannot attach to foreign database in multi-user environment 17. Using LIKE with trailing spaces and wild cards will not work properly 18. Query with descending sort on indexed duplicate data can return incorrect results 19. Cannot add counter columns to existing tables with large amounts of data 20. Fixed Width Import does not work with variable length records 21. Searching on Paradox data with multi-column indexes that contain NULLS 22. Update Queries do not work with "Restrict Available Fields" Option disabled 23. Using the BTRIEVE NLM may give an undefined error alert 24. Duplicate values may be returned on "Unique Values Only" queries (DISTINCT) 25. Microsoft Access may have problems when multiple instances of extremely large query definitions are used 26. Programmatically hiding a control in the footer of a form that is viewed in datasheet mode may cause problems 27. Using the ListParameters method on a database object does not generate an error as expected 28. Problems Importing Lotus 1-2-3 spreadsheets with extremely large numbers of formatted cells 1. Incorrect Windows For Workgroups driver can cause file truncation (correct driver included with Microsoft Access) NOTE: This problem was discovered before Microsoft Access was released and all copies of Microsoft Access include the updated Windows for Workgroups driver and installation instructions. DESCRIPTION: If you have an early version of the Windows for Workgroups WFWNET.DRV file (before 11-02-92), using the Network button in Access dialog boxes to connect to password-protected servers may cause any database files that you open on that server to become truncated. WORK AROUND: Update the WFWNET.DRV driver file using the driver update program included with Microsoft Access. Complete instructions are contained in the flier included in your copy of Microsoft Access. 2. Incorrect LAN Manager driver can cause file truncation (correct driver included with Microsoft Access) NOTE: This problem was discovered before Microsoft Access was released and all copies of Microsoft Access include the updated LAN Manager driver and installation instructions. DESCRIPTION: Using Microsoft Access on a Microsoft LAN Manager workstation (prior to version 2.2) can cause files to become truncated. Products that may be affected include: Microsoft LAN Manager prior to version 2.2; DEC Pathworks for DOS version 4.1; NCR StarGroup LAN Manager version 3.6; Olivetti Olinet LAN Manager version 2.1; Ungermann-Bass LAN Manager version 2.1. Database truncation is most likely to occur when a user workstation operates faster than the file server on which the database file is stored. (Note that the CPU speed alone does not determine the operation speed of the server. Heavy network traffic can make the server operate more slowly than a user workstation(s).) WORK AROUND: If you have LAN Manager 2.1 or 2.1a, install the LAN Manager Hotfix included with Microsoft Access appropriate to your version of LAN Manager. If you have LAN Manager 2.0, include the appropriate line in your LANMAN.INI file for LAN Manager versions prior to 2.1. Refer to the instructions included in the README.TXT file in your Microsoft Access package for complete details. 3. Microsoft Access SETUP may have problems with DOS APPEND statement in Autoexec.bat DESCRIPTION: If you have an APPEND statement in your AUTOEXEC.BAT file and that APPEND statement defines a path where other README.TXT files exist, Microsoft Access SETUP may abort when installing the README.TXT file. WORK AROUND: Remove or remark out the APPEND statement in your AUTOEXEC.BAT file and reboot your computer before trying to setup Microsoft Access. 4. ATI Ultra video driver not compatible with Microsoft Access NOTE: Use GO ATITECH to acquire the newest versions of ATI drivers. Newer versions may correct some or all of the problems reported. DESCRIPTION: Using ATI-supplied drivers included with the ATI Ultra video card can cause any of the following problems in Microsoft Access: 1) General Protection Fault on disabled cascading menus (most common case is Layout menu with Align command disabled in form or report design); 2) disabled buttons not visible; and 3) text alignment problems. WORK AROUND: The suggested work around for these problems is to use the 8514 video drivers included with Windows 3.1 and not the video drivers supplied with the ATI Ultra video card. NOTE: Microsoft is working with ATI on this problem. We will post more information on this forum as it becomes available. 5. Microsoft Access SETUP may leave temporary directory and files on disk DESCRIPTION: If you request SETUP to install SHARE and then choose the option to reboot your machine at the end of the installation process, SETUP will not properly clean up temporary files on your hard disk. This leftover directory will have the name MS-SETUP.T and will contain data files totaling approximately 600K. Besides taking up hard disk space, these files will have no affect on Microsoft Access or any other applications. WORK AROUND: Do not choose to reboot your machine at the end of the installation process or simply delete the files and directory after the reboot process. 6. Problem importing .DBF files where record length exceeds dBASE maximum DESCRIPTION: CodeBase++ v1.07 allows you to create .DBF files where the record length exceeds the dBASE IV maximum. Microsoft Access may hang when trying to import these type of .DBF files. WORK AROUND: Export the CodeBase++ .DBF file to delimited text, then import the ASCII file into Microsoft Access. 7. Microsoft Access cannot use Btrieve data with indexes across column boundaries DESCRIPTION: Microsoft Access will display the error message: "File is corrupt or isn't an Access file" when attempting to attach or import a BTRIEVE file which has an index defined across a column boundary." Access does not support BTRIEVE indexes which have keys defined on a partial column or across column boundaries. Indexes which have a segment of the key which is defined to cross a column boundary are not supported by the Xtrieve data dictionary format. Xtrieve may ignore these indexes and import the file correctly but Microsoft Access does not. WORK AROUND: You must remove the indexes or recreate them so that they align on column boundaries. 8. Fixed Width Import does not correctly translate extended characters DESCRIPTION: When importing a Fixed Width ASCII file, Microsoft Access does not properly translate extended characters from OEM to ANSI representation. The first 4K of data is imported and translated correctly, but all data after the initial 4K will not translate correctly. WORK AROUND: Convert the ASCII file from OEM to ANSI using another Windows application, such as Windows Write. Using Windows Write, simply open the file, responding 'Yes' to the convert alert, then save the file. 9. Cannot hide modal/popup forms with the OpenForm action DESCRIPTION: Using the OpenForm action to hide a modal/popup form may cause a General Protection Fault. WORK AROUND: Hide a modal/popup form by using the SetValue action to set the forms .Visible property to False. 10. Form dynaset references do not always work when using form variables DESCRIPTION: If you reference a form dynaset with variables, you may receive a General Protection Fault. WORK AROUND: Always refer to a form dynaset with explicit references through the form. The first code fragment below shows how to references a form dynaset safely and the second code fragments shows what will most likely cause the problem. A) SAFE: forms!testform.dynaset!col1="foo" B) MAY CAUSE PROBLEMS: dim f as form set f = form!testform f.dynaset!col1 = "foo" 11. Problem using Running Sum property with control that evaluates to #ERROR DESCRIPTION: If a report contains a control where the Running Sum property is set to 'Over Group' or 'Over All' and the control evaluates to #ERROR, Microsoft Access will cause a General Protection Fault. WORK AROUND: Correct the expression in the control source property so that it evaluates correctly. 12. Beta versions of ODBC drivers will not work with Microsoft Access DESCRIPTION: When using Beta versions of the ODBC drivers, Microsoft Access may experience General Protection Faults in ODBC.DLL. The problem is that when Microsoft Access initiates an ODBC connection, ODBC does not properly check the version of the ODBC driver. WORK AROUND: Rename or delete the beta version of ODBC.DLL and run the ODBC setup program from the setup disks that come with Microsoft Access. This will install a current ODBC.DLL file. 13. STACKER 3.0 incorrectly reports that database files are corrupted DESCRIPTION: Running Stacker's "check /=D /F" command will often report that some Access .mdb files are corrupt and should be deleted. The problem is that the "/=D /F" flags are for development and debugging purposes and will report things which are really not problems. If for some reason yo run CHECK.EXE with the /=D switch and it asks if you want to delete a file, answer NO! The file is fine. These are superfluous error messages. WORK AROUND: Do not run CHECK.EXE with the /=D switch. If you do run CHECK /=D, answer NO when prompted to delete files. Stac Electronics has written a document explaining the "Lost Sector Groups" reported by CHECK /=D. The document is referenced as TEC042.DOC on CompuServe or the Stac BBS and as document #3003 on STAC FAX, Stac Electronics' automated FAX response service. 14. Cannot use the CVDate and IsDate functions with empty string argument DESCRIPTION: The CVDate function is used to convert a string or numeric expression to a variant of type date. If this function is called with the empty string as the expression (i.e. CVDate("")) then you will get a general protection fault. The IsDate function has the same problem. WORK AROUND: Verify that you are passing valid date strings in the argument to CVDate. 15. Cannot declare new form object variable during break mode DESCRIPTION: The General Protection Fault occurs when declaring an object variable (form, table, etc.) during break mode (when debugging Access Basic code) and then trying to recompile the code. The following are examples of object variable declarations: Dim F as Form Dim T as Table WORK AROUND: Don't add these type of variables while in break mode. 16. Cannot attach to foreign database in multi-user environment DESCRIPTION: Attaching/importing will only work if you can open the foreign database file (dBASE, Paradox, BTRIEVE, etc) exclusively. If you attempt to attach to these types of files while others are using them you will get an error message stating that the table or file is already in use. This problem is isolated to attach and import. Once you have successfully attached to a file of this type you can then edit or browse this file in a multi-user environment. WORK AROUND: Must obtain exclusive access to foreign database file in order to import or attach. 17. Using LIKE with trailing spaces and wild cards will not work properly DESCRIPTION: When using the LIKE operator with trailing spaces and trailing wild cards (i.e. LIKE "The *") you will not always get back the proper results. Access ends up trimming the trailing spaces in this case and actually performs LIKE "The*". This is only a problem when you have both trailing spaces and the trailing wild card character. WORK AROUND: A sample work around for the LIKE "The *" example would be as follows: (LIKE "The*" AND (mid$([Field],4,1) = " ")) 18. Query with descending sort on indexed duplicate data can return incorrect results DESCRIPTION: When sorting data in descending order on a column that is indexed and contains over 506 duplicate entries, Access can return incorrect results to the user (wrong number of rows). This can occur when the Index property for a column is set to Yes (No Duplicates) or Yes (Duplicates OK), but not when there is a primary key on the column. Non-primary key indexes can have multiple NULL entries. WORK AROUND: Remove the index from the column that is being sorted. This will cause the query to execute more slowly but will give you the correct results. 19. Cannot add counter columns to existing tables with large amounts of data DESCRIPTION: You cannot add counter columns to an existing table that contains large amounts of data (roughly anything greater than 4 MB of data). This problem occurs because of a current limitation in the Access transaction model (transaction size limited to 4 MB). This problem manifests itself with counter columns because the table data for this column is updated as the column is added. This update will take place within a transaction and on large tables it will encounter the Access transaction size limit. The transaction will then rollback and the counter column will not be successfully added. WORK AROUND: Follow these steps to add a counter column to a large table: 1) Copy/Paste the table structure (not the data) to a new table 2) Add a counter column to this new table 3) Create an append query that transfers data from the old table into the new table 4) Verify new table has correct data 5) Delete the old table 6) Rename the new table to the name of the old table 20. Fixed Width Import does not work with variable length records DESCRIPTION: The fixed width import utility currently expects all records in your text file to be the same length. This most commonly presents itself as a problem when the right most column of your text file has strings of different lengths and they are not padded with spaces. In this case, Access will not import the data as you might expect (Access will look to the next line for more characters if the right most column is not properly padded). WORK AROUND: When importing ASCII Fixed Width files you must ensure that all record (lines of text) are the same length. In some cases this may require that you manually or programmatically pad some lines with the correct amount of spaces. The following piece of code below is an example of how one might programatically pad the lines of a text file so that all lines (records) of the file are fixed length. '---------------------------------------------------------------- 'InFile$ - name of Fixed Width Ascii data file 'OutFile$ - name of new file to create with proper padding 'RecLen% - Fixed length of each record in the padded file '---------------------------------------------------------------- Sub PadFixedWidthFile (InFile$, OutFile$, RecLen%) fh1% = FreeFile Open InFile$ For Input As #fh1% fh2% = FreeFile Open OutFile$ For Output As #fh2% 'Pad data and place in new file While Not EOF(fh1%) Line Input #fh1%, Ln$ If (Len(Ln$) < RecLen%) Then Ln$ = Ln$ + String$(RecLen% - Len(Ln$), " ") Else MsgBox "Padding process aborted! - Data exceeds record length " MsgBox Ln$ GoTo ExitPadFixedWidthFile End If Print #fh2%, Ln$ Wend ExitPadFixedWidthFile: Close #fh1% Close #fh2% End Sub 21. Searching on Paradox data with multi-column indexes that contain NULLS DESCRIPTION: Using the Edit Find dialog to search Paradox fields for specific values will not work properly if the field being searched is part of a multi-column index, the field contains NULLS, and the "Search Fields As Formatted" option is disabled in the EditFind dialog. WORK AROUND: The workaround is to check the 'Search Fields as Formatted' option so that the index is not used in the search. Similarly, when querying on Paradox fields that are part of a multi-column index and contain NULLS you should use the LIKE operator in places where you might normally use the equivalence operator. AVOID: SELECT * FROM TestTable WHERE ((FieldX=23)); WORK AROUND: SELECT * FROM TestTable WHERE ((FieldX Like 23)); 22. Update Queries do not work with "Restrict Available Fields" Option disabled DESCRIPTION: If you use the View Options dialog to set the Query Design option "Restrict Available Fields" to NO (the default is YES) then UPDATE queries will not work correctly. In the most common case Access will cause a General Protection Fault, but there have been isolated cases where the query actually executed to completion and incorrectly altered the data in your table (the wrong columns get updated). WORK AROUND: Use the Query Properties dialog to set the "Restrict Available Fields" option to No on a query by query basis when this functionality is desired. Do not use the View Options dialog to set this option on a global basis. 23. Using the BTRIEVE NLM may give an undefined error alert DESCRIPTION: Users who do not have all of the correct versions of BREQUEST.EXE, WBTRCALL.DLL, and WBTRVRES.DLL may receive an "Internal Database Error (-5001)" alert when using the BTRIEVE NLM. WORK AROUND: In order to get the BTRIEVE NLM to function properly, we recommend that the NLM requester (client) uses the 6.0 versions of BREQUEST.EXE, WBTRCALL.DLL, WBTRVRES.DLL and the 5.15 version of BTRIEVE.NLM. Follow these steps: 1) Sign on to CompuServe. 2) Go NOVLIB 3) Go into the BTRIEVE/XQL library section. 4) Download the BT515.ZIP file 5) Use PKUNZIP.EXE to unpack the file. 6) Unpack the BTRREQ.ZIP file that gets unpacked from step 5. 7) Obtain the following files: WBTRCALL.DLL WBTRVRES.DLL BREQUEST.EXE 8) Follow the readme notes to properly install and execute these files. 9) The readme should also explain how to apply patches 1-65 to the BTRIEVE.NLM file on the server. The WIN.INI file should also be modified with the following lines: [BREQUESTDPMI] datalength=4096 tasks=10 local=no chkparms=no 24. Duplicate values may be returned on "Unique Values Only" queries (DISTINCT) DESCRIPTION: DISTINCT queries may return a few duplicate values at the beginning of the result set if the data set is very large. This happens only if the result set of the query is greater than 64K (counting the duplicate values). Record position of the duplicate values in the result set is a contributing factor. The conditions that must be met are as follows: a) The underlying table(s) contains a large number of records (the result set must be >64K). b) The data values that sort to the beginning of the output must have many duplicate values scattered throughout the input. This can manifest itself in a Select query with the Unique Values Only property turned on (DISTINCT). It can also show up in a Crosstab query as duplicated columns with names like "Field0", "Field1", etc. This problem only occurs with Select DISTINCT queries, and not with the much more common Select DISTINCTROW queries. WORK AROUND: For Select queries, use Totals with GROUP BYs instead of using the Unique Values Only property. For crosstab queries, use Fixed Column Heading to prevent the problem. 25. Microsoft Access may have problems when multiple instances of extremely large query definitions are used DESCRIPTION: Trying to open more than one instance of a query may cause a General Protection Fault in Microsoft Access when the query definition is extremely large. For example, if you have a form based on a query with a query definition size of >32K and you then attempt to create a SnapShot from the same query, Microsoft Access may cause a General Protection Fault. This happens because multiple versions of the query definition must be saved, and the saved query definitions do not fit within the query's segment space (the space allocated to each query). Note: The number of records in the result set is NOT a contributing factor. WORK AROUND: Create a second query based on the first query and use one of the queries for the form, and the other query for the SnapShot. 26. Programmatically hiding a control in the footer of a form that is viewed in datasheet mode may cause problems DESCRIPTION: If you have a control in the footer of a form, you hide that control in an event such as OnCurrent, and you then view the form in datasheet view; Microsoft Access may cause a General Protection Fault. In datasheet view, Microsoft Access incorrectly assumes that there is a grid column associated with the field being hidden; however, that is not true in this case since the control is in the form's footer. WORK AROUND: Since forms with controls in the footer are normally meant to be used in Form view, set the ViewsAllowed property for the form to Form so that the form cannot be switched into datasheet view. 27. Using the ListParameters method on a database object does not generate an error as expected DESCRIPTION: Attempting to list parameters for a database object is illegal, but does not generate the expected compile-time error. Instead, it may cause a General Protection Fault in Microsoft Access. For example, the following subroutine causes a General Protection Fault even though it should generate a compile-time error. Sub Test Dim db As Database Dim Snap As Snapshot Set db = CurrentDB() Set Snap = db.ListParameters() End Sub WORK AROUND: Check Microsoft Access Help or the Microsoft Access "Language Reference" for the list of valid database object methods. 28. Problems Importing Lotus 1-2-3 spreadsheets with extremely large numbers of formatted cells DESCRIPTION: The Lotus 1-2-3 spreadsheet import in Microsoft Access is limited to 64,000 formatted cells. All Lotus 1-2-3 cells are formatted. Those not explicitly set by the user carry the general format. If a Lotus 1-2-3 spreadsheet has more than 64,000 cells, then Microsoft Access cannot import it and the system may hang during the import. WORK AROUND: To import Lotus 1-2-3 spreadsheets with greater than 64,000 cells, they must first be physically split into separate spreadsheets where the number of cells in each does not exceed 64,000. Importing sub-ranges from these large spreadsheets does not eliminate the problem.