  ------------------------------------------------
  Microsoft Access Developer's Toolkit Readme File
  		   November, 1995
  ------------------------------------------------

     (C) 1995 Microsoft Corporation. All rights reserved.

This document provides complementary or late-breaking information as a supplement to the Microsoft Access Developer's Toolkit (ADT) documentation.


------------------------
How to Use This Document
------------------------

To view the Readme file on screen in Windows WordPad, maximize the WordPad window. To wrap the text, click Options on the View menu, click the Text tab, and then click Wrap To Ruler.

To print the Readme file, open it in Windows WordPad, Windows Write, Microsoft Word, or another word processor. Then select the entire document and format the text in 10-point courier before printing.

--------
Contents
--------

PRODUCT SUPPORT SERVICES

Support for the Microsoft Access Developer's Toolkit
Providing Your Product ID to PSS

INSTALLATION

Installing the Microsoft Access Developer's Toolkit for Windows 95
Installing to a Clean Machine
Installing to a Machine That Has ADT 2.0 Installed

RUN-TIME ENVIRONMENT

Custom Shortcut Menus Not Working
Some Error Messages Include "Microsoft Access" in the Title
Minimized Database Window Shows Title
Custom Help Files
The CloseCurrentDatabase Method vs. the Quit Method of the DoCmd Object

SETUP WIZARD

General Issues
  Uninstalling Microsoft Access 95 Breaks Custom Applications Within the
    Run-Time Environment
  Uninstalling Visual Basic 4.0 Breaks Custom Applications Within the
    Run-Time Environment
  Administrative and Run From Network Server Installations
  Saving Property Changes in Setup Wizard Screens
  Setup Wizard Does Not Store State of the Check Box on the Run
    Executable Screen
  Setup Wizard Might Prompt to Save Template Unnecessarily
  Trying to Create Disk Images on a Read-Only Share
  Reinstall Fails After Maintenance Removal of Workgroup Administrator
  Specifying a Command Line to Run an Executable File After Setup
  Very Large Components Show Negative Numbers in Your Custom Setup
    Program
  Application Name Cannot Contain Quotation Marks
  Removing Component in Single-Component Setup Does Not Remove All
Files Screen
  Main Application File Should Be Required
  Setup Wizard Unable to Use Exclusively Locked File
  Adding a System Database File to Your Custom Setup Program
  Validation Order in Files Screen Can Lead to Errors
  Filename Cannot be a UNC Path to a Folder
  Custom Setup Program Requires Three-Character Extensions
  Custom Setup Program Can Break If Including a File with an All Numeric
    Extension
  Installing to a Short Filename System
Shortcuts and Registry Pages
  Shortcut Names Truncated on Short File Installation
  Shortcut Description Limit of 40 Characters
  Shortcut Descriptions Cannot Contain Certain Characters
  Duplicate Names for Shortcuts
  Invalid command line will cause general protection fault in custom Setup program
  Shortcuts on Windows 95 Require Qualified Program
  Custom Shortcuts for Access Components Must Be in Lowercase Letters
  Custom Microsoft Access Component Shortcuts Need Related Files
  Creating a Shortcut to Uninstall Your Application
  Unable to Use % in Command Lines or Registry Entries
  $(WorkgroupFile) Not Enforcing Requirement for Workgroup File
  Custom Command Line cannot have $(WorkgroupFile) as Its Program
  $(Profile) Is Replaced with Quotation Marks in Registry Values
  Compact and Repair Options Should Be Disabled for Microsoft Access
    Shortcut Files
Microsoft Access Components
  Setup Wizard Fails to Find Files in Some Cases
  Hatten.ttf File Not Found for Replication Component Under Windows NT
  Setup Program Does Not Launch Transporter After Setup Completes
  Setup Wizard Does Not Include Briefcase Support Files
  Setup Fails If Drop Box Folder Is Invalid
  Replication Log Is Placed in the Drop Box Folder
Creating Disk Images
  Setup Wizard Cannot Create Images on Top Level of UNC Share
  Progress Meter in the Setup Wizard Is Not Linear
  Setup Wizard Hangs If Out of Disk Space While Compressing
  Setup Wizard Hangs If Application Name Contains String $(Profile)
  Compressed Folder Names Use Short Filenames

CUSTOM CONTROLS

General Issues
  Developer's Toolkit Does Not Include a 32-bit Scrollbar Control
  Using MsgBox Statements or Functions Can Interfere with Mouse Events
  Cannot Set MousePointer Property to Custom in the Microsoft Access
    Property Sheet
  Named Arguments Not Supported
  Custom Control BackColor and ForeColor Help
CommonDialog Control
  Print Dialog Box's Min, Max, and FromPage Property Settings
Data Outline Control
  Data Outline Control Does Not Work with Double Byte Character Set
    Languages
  Error Switching Views in Enabled Database
  LostFocus Event Fires Twice After Form Opens
  AfterFormClose Event Does Not Fire
  Validation Error Generated Repeatedly While Scrolling
  Error Using Context-Sensitive Help in Microsoft Access Property Sheet
  Data Outline Control Shows No Data for GUID Joined Levels
  Incorrect Error Message When ODBCKeySize Setting Is Too Small
ImageList Control
  Custom Bitmap Sizes in an ImageList Control
  Image Size Settings Lost When Setting MaskColor Property
  "Out of Memory" Errors Adding Icons After Bitmaps
ListView Control
  Incorrect Arrange Property Constant
RichTextBox Control
  RichTextBox Focus Problems and Issues Related to Data Binding
  Control Paints Incorrectly When Switching from Design to Browse View
  Incorrect Font Spacing After Font Size Is Changed
  SelPrint Method Not Supported
Slider Control
  Reset Height and Width After Changing Orientation Property at Run Time
TabStrip Control
  TabStrip ClientLeft and ClientTop Properties Return Incorrect Values
  Subform Control Might Not Properly Receive Focus
Toolbar Control
  RestoreToolbar Method Requires Buttons with Images
  Custom Button Size Lost During Switch from Browse to Design View
  Multiline Toolbar Can Resize Incorrectly in Design View
TreeView Control
  Right Mouse Button Argument Not Recognized

MICROSOFT GRAPH

Using Named Constants with Microsoft Graph

WIN32 API VIEWER

"Unexpected Error" When Opening an Invalid Database File
Code Segments Need to Be Pasted in a Specific Order

MICROSOFT ACCESS DEVELOPER SAMPLER CD

Roadmap Crashes If Using Keyboard on Particular Topic
Painting Problems in the Developer Roadmap
First Page of Mastering Access Preview Does Not Wait for Click on
    Button

DOCUMENTATION

Online Help
  Getting Help on Custom Controls
  Printing Help Topics on Windows NT
  ADT Help Topics Available from Contents and Index Tabs of Microsoft
    Access Help
  Changes to the Microsoft Access Help Topic "Microsoft Language
    Elements That Apply to Custom Controls"
Printed Language Reference and Data Access Reference
  Microsoft Office 95 Data Access Reference
  Microsoft Access Language Reference

FILE LIST

------------------
------------------


PRODUCT SUPPORT SERVICES

Support for the Microsoft Access Developer's Toolkit
----------------------------------------------------

We now provide the same type of support for the Microsoft Access Developer's Toolkit that we provide for the other Microsoft development tools. The support policy we offer includes 30 days of standard support at no cost, provided by knowledgeable engineers who can quickly and accurately answer your questions.


Providing Your Product ID to PSS
--------------------------------

Microsoft Product Support Services requires a Product ID (PID) in order to confirm that individuals are licensed Microsoft Access Developer's Toolkit owners. To display your PID, point to Programs on the Start menu, point to Microsoft ADT, then click About Microsoft ADT (or run the Msadt.exe file).


INSTALLATION

Installing the Microsoft Access Developer's Toolkit for Windows 95
------------------------------------------------------------------

To install the Microsoft Access Developer's Toolkit on Windows 95:

1.  Insert the CD into the CD-ROM drive.
2.  Click the Start button, point to Settings, and then click Control
      Panel.
3.  Double-click the Add/Remove Programs icon.
4.  On the Install/Uninstall tab, click Install.
5.  Follow the Setup instructions on the screen.

To install the Microsoft Access Developer's Toolkit on Windows NT:

1.  Insert the CD into the CD-ROM drive.
2.  In Program Manager, click Run on the File menu.
3.  In the Command Line box, type drive:\setup (for example, type
      d:\setup).
4.  Click OK, and then follow the Setup instructions on the screen.

Installing to a Clean Machine
-----------------------------

The ADT Setup program requires certain files that are installed with Microsoft Access for Windows 95 in order to register the custom controls correctly. You should install the ADT to a machine that has Microsoft Access 95 installed.

Installing to a Machine That Has ADT 2.0 Installed
--------------------------------------------------

If you have the Microsoft Access Developer's Toolkit version 2.0 installed on your machine, the ADT 7.0 Setup program does not detect or delete its files during the installation process. Files and shortcuts with the same name as ADT 2.0 files, such as readme.txt, are overwritten if you install the ADT 7.0 into the same folder where your ADT 2.0 files are located. To avoid this, install the ADT 7.0 into a different folder than the folder where your ADT 2.0 files are located.


RUN-TIME ENVIRONMENT

Custom Shortcut Menus Not Working
---------------------------------

The run-time environment currently disables all custom shortcut menus. A detailed Knowledge Base article will be available on this topic and its available workarounds.

For more information on using the Microsoft Knowledge Base, see the Microsoft Access 95 Help topic, "Finding information in the Microsoft Knowledge Base."

Some Error Messages Include "Microsoft Access" in the Title
-----------------------------------------------------------

In some cases, the Microsoft Access run-time environment displays "Microsoft Access" in error message titles. For example, if Microsoft Access cannot find a workgroup file, it gives an error with "Microsoft Access" in the title. This can also happen when compacting or repairing a database. There is currently no workaround for this issue.

Minimized Database Window Shows Title
-------------------------------------

The Microsoft Access run-time environment hides the Database window and the Design view of all objects. However, Windows NT displays ":Database" in the title bar of a minimized Database window. A user can click on the minimized Database window and potentially modify the objects that it contains. To prevent this, hide the Database window at startup by clicking Startup on the Tools menu, and clearing the Display Database Window check box. Modified startup properties do not take effect until you close and reopen a database.

Custom Help Files
-----------------

The Microsoft Access 2.0 .ini file run-time option named HelpFile has been renamed AppHelpFile, and is now a Windows Registry setting. This option is only available to applications running in the Microsoft Access run-time environment.

If you do not include a custom Help file for your run-time applications, Microsoft Access generates errors referring to the Msaccess.hlp file when users click commands on the Help menu, or when they press F1 (unless you create an AutoKeys macro to remap the F1 key).

The CloseCurrentDatabase Method vs. the Quit Method of the DoCmd Object
-----------------------------------------------------------------------

If you try to close an application using the CloseCurrentDatabase method, you will get an error, because the run-time version of Microsoft Access won't run without a current database open. Instead, to close an application, use the Quit method of the DoCmd object.


SETUP WIZARD

General Issues

Uninstalling Microsoft Access 95 Breaks Custom Applications Within the
Run-Time Environment
----------------------------------------------------------------------

If a user installs and uninstalls Microsoft Access 95, all custom applications using the run-time environment fail to work. Typical symptoms include mismatched icons and errors finding files. In some cases, the Microsoft Access run-time version can crash while executing Visual Basic code. A tool called Msarnreg.exe has been provided to fix this problem. This program ships with the ADT and is installed by the Setup Wizard. The program is in the C:\Program Files\Common Files\Microsoft Shared\Microsoft Access Runtime folder under Windows 95 and in the C:\Windows\MSAPPS\Microsoft Access Runtime folder under Windows NT.

This program restores all relevant Registry settings to their default values. This program also copies profile strings from a backup key to the Profiles key under the Microsoft Access\7.0 Registry key. The backup key is also named Profiles, but it is in the Access Runtime key under the Software\Microsoft key. The Setup Wizard automatically inserts its profile entries into both of these locations.

Uninstalling Visual Basic 4.0 Breaks Custom Applications Within the
Run-Time Environment
-------------------------------------------------------------------

If a user installs and uninstalls Microsoft Visual Basic 4.0, all custom applications using the run-time environment fail to work. Uninstalling Visual Basic 4.0 removes some files required by Microsoft Access to run. The only way to recover is to rerun the custom Setup program.

Administrative and Run From Network Server Installations
--------------------------------------------------------

The Setup Wizard does not support Administrative (setup /a) and Run From Network Server installations. An Administrative installation typically copies an application's files to a network server so that users can run the application's Setup program from the server or run the application directly from the server. 

If you want users to be able to run Setup directly from a netowrk server, copy the disk or network setup images that the Setup Wizard generates to the server.

Saving Property Changes in Setup Wizard Screens
-----------------------------------------------

To save changes to the properties of an item in the Files, Shortcuts, Registry, and Components screens of the Setup Wizard, you must click another item in the list, add or delete an item from the list, or move to another page.

There is no way to undo part of the changes you have made to the properties of an item, even if the changes have not yet been saved. If you want to undo all changes, make a change that the Setup Wizard will not accept (for example, delete the value in a required field), try to save changes, and click Yes when you are asked if you would like to discard your changes.

Setup Wizard Does Not Store State of the Check Box on the Run Executable
Screen
------------------------------------------------------------------------

The Setup Wizard does not save the state of the Allow Setup To Complete Before The File Finishes Executing check box in a template. By default, the check box is cleared. If you want to reset the state of the check box, you have to manually select it following each load of your template.

Setup Wizard Might Prompt to Save Template Unnecessarily
--------------------------------------------------------

Occasionally the Setup Wizard mistakenly detects that you have made changes to a saved template. You can click Yes to save the template again or, if you know that you have not made changes since the last time you saved the template, you can click No. The Setup Wizard does not regard a template as changed until changes have been saved in one of the screens. 

Trying to Create Disk Images on a Read-Only Share
-------------------------------------------------

The Setup Wizard is unable to create disk images on a read-only network share. Trying to do so generates a "Path not found" error. You must have write or create permissions on the root share of any network folder or directory that you specify when indicating where the Setup Wizard should create disk images for your custom Setup program.

Reinstall Fails After Maintenance Removal of Workgroup Administrator
--------------------------------------------------------------------

If a user removes the Workgroup Administrator component and then uses your custom Setup program to reinstall your application, the Setup program fails. If they run your custom Setup program again, the installation succeeds. To prevent this situation, make the Workgroup Administrator component hidden in the Components screen of the Setup Wizard.

Specifying a Command Line to Run an Executable File After Setup
---------------------------------------------------------------

If the file you specify on the command line is not an executable file, your custom Setup program cannot finish. You need to make sure that the command line is complete. It might need to include an executable program that accepts the file as an argument if the file you want to run is not an executable file. Also, unless Windows can automatically find the executable file (such as in the Windows folder), you need to fully qualify the filename with a full path or a keyword such as $(FilePath) or $(AppPath).

By default, the Setup Wizard generates command lines which include quotation marks around file arguments. Some programs, such as Winhlp32, do not accept quotation marks around file arguments. If you are having trouble with a specific command line, remove the quotation marks that enclose the file argument, and try to run the command line again.

Very Large Components Show Negative Numbers in Your Custom Setup Program
------------------------------------------------------------------------

Components that are very large (for example, 100MB) show up as having negative sizes in the Custom installation of your custom Setup program. There is no workaround for this issue.

Application Name Cannot Contain Quotation Marks
-----------------------------------------------

If the Application Name field contains quotation marks, the custom Setup program will fail. In some cases, this has been known to cause a general protection fault in the Acmsetup.exe program. The wizard does not recognize the presence of quotation marks as invalid.

Removing Component in Single-Component Setup Does Not Remove All
----------------------------------------------------------------

If you have a simple Setup program with only a single component, removing that component does not completely uninstall your application. To uninstall the application, you must use the Remove All button.


Files Screen

Main Application File Should Be Required
----------------------------------------

Your custom Setup program should always install your main application file on the user's machine. To make sure that this happens, mark the component as hidden and select it to be installed with Minimal, Typical, and Custom installations. Without this file, users cannot use your custom Setup program to uninstall successfully.

Setup Wizard Unable to Use Exclusively Locked File
--------------------------------------------------

If you try to add a file that is exclusively locked by another user or another application, the Setup Wizard responds with an "Application-defined or object-defined error" error and cancels the creation of your custom Setup program disk images. An example of an exclusively locked file is any database that is open by Microsoft Access at the time you are trying to create a custom Setup program using that database.

Adding a System Database File to Your Custom Setup Program
----------------------------------------------------------

You cannot add the system database file that Microsoft Access is currently using when specifying files to add to your custom Setup program. Trying to add this file generates an error message indicating that permission has been denied to this file. To include this file in your custom Setup program, close Microsoft Access, make a copy of the system database, and include the copy in your list of files.

Validation Order in Files Screen Can Lead to Errors
---------------------------------------------------

The Files screen validates the name of a file that you have selected before it validates the existence of a main file for your application. Because of this, you can proceed to the next screen without designating a main file. Doing so leads to a failure during the generation of custom setup images. Make sure that one of the files in the Files screen has been designated as the main file before the Setup Wizard tries to generate your disk images.

Filename Cannot Be a UNC Path to a Folder
-----------------------------------------

You should not enter a UNC path as a file, (for example, \\server\share\subdirectory). When generating images, this results in an "Invalid Procedure Call" error and cancels image creation. You should always specify specific paths to files including the filename.

Custom Setup Program Requires Three-Character Extensions
--------------------------------------------------------

A custom Setup program fails if it contains files with one- or two-character extensions. If you need to use files with one- or two-character extensions, rename them in the disk image folders to contain three characters. For example, a file named Read.me is named Read.m_ in the disk images. To correct your custom Setup program, rename this file Read.me_.

Custom Setup Program Can Break If Including a File with an All Numeric
Extension
----------------------------------------------------------------------

The Setup Wizard incorrectly compresses and splits a file with an all numeric extension (for example, File.000 or File.001). This is only an issue on floppy setups with files that have to be split (for example, files that, when compressed, take up more than one floppy disk). Also, the custom Setup program generated by the Setup Wizard only fails if the extension overlaps with one of the chunks of the file. Files with extensions of "100" or more are not a problem, since the wizard can only produce 99 chunks.

Both the wizard and the custom Setup program will appear to complete the compression process successfully. However, the file installed on the user's machine will not be an exact copy of the file used to generate the images. It will be missing information that was lost by the wizard.

Installing to a Short Filename System
-------------------------------------

Be careful when using filenames that contain more than 8 characters (long filenames), as they are renamed on systems that only support short filenames. References to long filenames in your application won't work, though your custom Setup program will succeed. For example, a shortcut pointing to a file with a long filename won't run. 


Shortcuts and Registry Pages

Shortcut Names Truncated on Short File Installation
---------------------------------------------------

Under a short file installation, all shortcut names and their folder or group cannot be longer than 8 characters. Since the Setup Wizard automatically truncates long names into short names, you can end up with duplicate names. In this case, only one shortcut is created. To avoid this, make sure that each of your shortcuts has a short file description.

To specify a custom short name for the shortcut description, type the description in the format "Short name<Long name>". For example, "Shortcut<My Custom Shortcut>". This forces the wizard to use Shortcut as the short name. To change the short name of the group for the shortcuts, use the same method on the application name, as specified in the Application Details screen. For example, "MyApp<My Custom Application>" forces the wizard to use "MyApp" as the short name for the shortcut group.

The wizard does not validate this data. If the short name provided is invalid, or the format of the string is incorrect, the custom Setup program fails.

Shortcut Description Limit of 40 Characters
-------------------------------------------

Shortcut descriptions cannot be longer than 40 characters, although the Setup Wizard does not enforce this limit in its Shortcuts screen. If you are using both short and long names, the 40 character limit applies to the combined length of the short and long names. 

Shortcut Descriptions Cannot Contain Certain Characters
-------------------------------------------------------

Any of the following characters in the description of a shortcut causes your custom Setup program to fail: comma, forward slash(/), square brackets([]), angled brackets(<>), or parentheses.

Duplicate Names for Shortcuts
-----------------------------

The Setup Wizard allows you to enter two shortcut descriptions that differ only by case. Your custom Setup program only contains one shortcut that has the last description you added. You should give each shortcut that you add to your custom Setup program a unique description.

Invalid command line will cause general protection fault in custom 
Setup program
----------------------------------------------------------------------

If you create a shortcut based on a database file that uses a Database Shortcut Action option other than Open, you should not change the File to Open property to a non-database file.  Doing so generates an invalid command line which in turn causes a general protection fault in your custom Setup program. The invalid command line consists of the file you have chosen to open followed by the string "/compact".  To repair this command line, delete and recreate the shortcut item.  To avoid this problem, be sure to set the Shortcut Action option to Open before modifying the File to Open property.

Shortcuts on Windows 95 Require Qualified Program
-------------------------------------------------

Under Windows 95, you must make sure that your shortcuts can be resolved by Windows when being created. To do this, you must specify a full path to the file, or you must specify a program that exists on the Windows path search. For example, Notepad.exe does not require a path since Windows knows it is in the Windows folder. However, Mycustom.exe would be an invalid shortcut unless you precede the filename with a full path or a keyword such as $(FilePath) or $(AppPath).

Custom Shortcuts for Access Components Must Be in Lowercase Letters
-------------------------------------------------------------------

When creating a shortcut to the Microsoft Access Setup program (setup.exe), Microsoft Access (msaccess.exe), the Workgroup Administrator (wrkgadm.exe), or the Replication Manager (replman.exe), you must enter the entire program name in lowercase letters. The Setup Wizard does not recognize your shortcut unless the name is all in lowercase letters.

Custom Microsoft Access Component Shortcuts Need Related Files
--------------------------------------------------------------

If you include a custom shortcut to msaccess.exe, wrkgadm.exe, or replman.exe, you should also include these files with your custom Setup program if they are not already in the expected location on the user's machine. The shortcuts will be blank unless the Setup Wizard knows where to find the files. 

Creating a Shortcut to Uninstall Your Application
-------------------------------------------------

To create a shortcut that uninstalls your application, create a shortcut with a custom command line of setup.exe /U. If you want the Setup program to remove components that are shared with other applications, use setup.exe /UA. Shared components won't be removed if another application requires them.

Unable to Use % in Command Lines or Registry Entries
----------------------------------------------------

If you use a single percent sign in a command line or a Windows Registry entry, your custom Setup program will fail. To embed a percent sign in a command line or Registry entry, use two percent signs(%%).

$(WorkgroupFile) Not Enforcing Requirement for Workgroup File
-------------------------------------------------------------

When using just the $(WorkgroupFile) keyword, the Setup Wizard does not enforce the requirement for a workgroup file. To ensure that a workgroup file is added, include one in your Setup program.

Custom Command Line Cannot Have $(WorkgroupFile) as Its Program
---------------------------------------------------------------

A custom command line cannot begin with the $(WorkgroupFile) keyword. If you want to launch the workgroup file, you can use Msaccess.exe as the Program for this command line and $(WorkgroupFile) as an argument.

$(Profile) Is Replaced with Quotation Marks in Registry Values
--------------------------------------------------------------

If a Registry entry is given the value $(Profile), the actual value will be the name of the profile (the application name) enclosed in quotation marks. To work around this, use the application name directly.

Compact and Repair Options Should Be Disabled for Microsoft Access
Shortcut Files
------------------------------------------------------------------

If you are including a Microsoft Access shortcut in your custom Setup program, the Shortcuts screen of the Setup Wizard lets you create shortcuts using the /repair and /compact command-line options. Since neither of these options are valid for shortcuts, you should not use them.


Microsoft Access Components

Setup Wizard Fails to Find Files in Some Cases
----------------------------------------------

Some files distributed by the Setup Wizard are only installed in a complete installation of Microsoft Access.  The wizard will be unable to complete if these files are not installed on your machine.  Also, because files shared by multiple components or applications can be located in various places on your hard disk, the Setup Wizard could need help finding some files the first time it tries to create your custom Setup program. For example, the DAO files, the Graph files, and the Replication files could be located in several different places. The Setup Wizard only asks you once for the location of a file. After that, it remembers the path to the file.

Hatten.ttf File Not Found for Replication Component Under Windows NT
--------------------------------------------------------------------

If you are using the Setup Wizard on Windows NT, the first time you select the Microsoft Access Replication component, the Setup Wizard will be unable to find Hatten.ttf. This file is in the System subfolder of the Windows folder. You only have to specify the location of this file the first time you select the Replication component.

Setup Program Does Not Launch Transporter After Setup Completes
---------------------------------------------------------------

Although your custom Setup program adds the Transporter to the Windows Startup group, it does not launch the Transporter once Setup completes. This allows you to use a custom executable to configure aspects of replication beyond what the Setup Wizard offers. To launch the Transporter, your users need to either restart Windows or start the Transporter manually.

Setup Wizard Does Not Include Briefcase Support Files
-----------------------------------------------------

An application that uses the Replication menu commands in Microsoft Access for replication support does not work unless you install the full version of Microsoft Access with the replication Setup option selected. As an alternative, your application can use the DAO properties and methods that provide replication support.

Setup Fails If Drop Box Folder Is Invalid
-----------------------------------------

If you specify an invalid drop box folder for your custom Setup program, it will fail to complete. You must make sure that the path specified in the Setup Wizard will point to a valid folder during installation.

Replication Log Is Placed in the Drop Box Folder
------------------------------------------------

The Setup Wizard places the Trnsprtr.log file in the drop box folder for the user. The Transporter cannot start if it cannot access the log file. In this case, the user will be left without a log entry of the failure. No workaround is available because the custom Setup program is not assured of another read/write folder that is independent of the application folder.


Creating Disk Images

Setup Wizard Cannot Create Images on Top Level of UNC Share
-----------------------------------------------------------

The Setup Wizard does not accept a UNC path to the top level of a share (for example, \\server\share) for the folder where your custom Setup program disk images should be created. You must specify a subfolder of the UNC share. There is no workaround for this issue.

Progress Meter in the Setup Wizard Is Not Linear
------------------------------------------------

The progress meter in the Setup Wizard does not always accurately reflect the amount of time left in the disk image creation process. The operations that the Setup Wizard performs vary widely in the amount of time they take to complete. We have tried to make the meter reflect the length of the operations but, in some cases, it seems as if the wizard is hung. Also, the wizard does not show an hourglass during certain stages of the disk image creation process.

Setup Wizard Hangs If Out of Disk Space While Compressing
---------------------------------------------------------

The Setup Wizard hangs if it runs out of disk space while compressing a file. The only way to recover is to restart your machine. If the wizard runs out of disk space in other situations, it presents an error and stops the creation of the disk images. To prevent these situations, make sure that you have sufficient free hard disk space before you start the Setup Wizard.

Setup Wizard Hangs If Application Name Contains String $(Profile)
-----------------------------------------------------------------

If the application name that you specify contains the string $(Profile), the Setup Wizard is unable to resolve the circular reference, and it hangs in an infinite loop. There is no workaround for this issue.

Compressed Folder Names Use Short Filenames
-------------------------------------------

When the Setup Wizard stores compressed images of the files you have selected to include in your custom Setup program, it uses short filenames and folder names (8 characters or less) instead of long filenames and folder names. The Setup Wizard does this to ensure compatibility with systems that only support short filenames and short folder names.


CUSTOM CONTROLS

General Issues

Developer's Toolkit Does Not Include a 32-bit Scrollbar Control
---------------------------------------------------------------

The Microsoft Access Developer's Toolkit version 7.0 does not contain a 32-bit version of the Scrollbar control. If you have a Microsoft Access version 2.0 database that uses the Scrollbar control, the control is not converted to a version 7.0 control. However, in many cases, you can replace the version 2.0 Scrollbar control with a version 7.0 Slider control.

Using MsgBox Statements or Functions Can Interfere with Mouse Events
--------------------------------------------------------------------

Using MsgBox statements or functions in certain events can interfere with other Mouse events generated by Microsoft Access or a custom control. For example, using Visual Basic code containing a MsgBox statement in the BeforeClick event of a TabStrip control prevents the TabStrip control's Click event from firing. 

Cannot Set MousePointer Property to Custom in the Microsoft Access
Property Sheet
------------------------------------------------------------------

The MousePointer property has a drop-down combo box in the Microsoft Access property sheet. Clicking the drop-down arrow displays the 17 settings, including a Custom property. However, if you select Custom, an error occurs. To set the MousePointer property to Custom, use the control's custom property sheet or Visual Basic. When the MousePointer property is correctly set to Custom using a control's custom property sheet, the Microsoft Access property sheet displays a blank entry for this property. 

Named Arguments Not Supported
-----------------------------

None of the custom control methods support named arguments.

Custom Control BackColor and ForeColor Help
-------------------------------------------

The ListView, SpinButton, and RichTextBox controls supply BackColor and ForeColor properties that supplement any control color properties supplied by Microsoft Access. The online Help for these control-specific properties describes the Microsoft Access BackColor and ForeColor properties. When setting control properties that have the same name as Microsoft Access properties using Visual Basic, you must include the Object property reference. For example, you can set the BackColor property setting for a SpinButton control in Visual Basic by using the following syntax:

      Me!SpinButton1.Object.BackColor = RGB(100, 100, 100)

For more information, see the "Using the Properties, Methods, and Events of a Custom Control" topic in the Custom Control Help file.


CommonDialog Control

Print Dialog Box's Min, Max, and FromPage Property Settings
-----------------------------------------------------------

You must set the FromPage property to a number equal to or greater than the Min property setting and less than or equal to the Max property setting. Setting the control's Min property to a number greater than 0 without also setting the FromPage property causes an error.


Data Outline Control

Data Outline Control Does Not Work with Double Byte Character Set Languages
-----------------------------------------------------------------

The version of the Data Outline control included in this version of the Microsoft ADT does not work with Double Byte Character Set languages. A Double Byte Character Set version of the Data Outline control will be available for all languages at the time of the Japanese ADT 7.0 release.

Error Switching Views in Enabled Database
-----------------------------------------

Microsoft Access 95 cannot save changes to an enabled database. Converting the 16-bit Data Outline control to its 32-bit counterpart normally requires you to save the form. A Data Outline control in an enabled database functions correctly if opened directly in Browse mode, but you cannot switch back and forth between Design and Browse mode.

LostFocus Event Fires Twice After Form Opens
--------------------------------------------

When you open a form using the Data Outline control, the control fires its LostFocus event followed by a GotFocus event and another LostFocus event.

AfterFormClose Event Does Not Fire
----------------------------------

The Data Outline control's AfterFormClose event does not fire as expected. It is recommended that you use the Close event of the form being closed to run code that otherwise would go in the Data Outline control's AfterFormClose event.

Validation Error Generated Repeatedly While Scrolling
-----------------------------------------------------

When using a Data Outline control synchronized with a form, validation errors are generated when clicking on an item in the control or scrolling through items in the control. If you click on the control's scrollbar thumb, a validation error can occur for each record the control scrolls through.

Error Using Context-Sensitive Help in Microsoft Access Property Sheet
---------------------------------------------------------------------

Pressing F1 for the Data Outline control's SelRowForeColor property and SelRowBackColor property incorrectly brings up Help topics for the ForeColor and BackColor properties of the LevelInfo object. To get Help on the SelRowForeColor and the SelRowBackColor properties, use the Contents or Index tab in Microsoft Access online Help.

Data Outline Control Shows No Data for GUID Joined Levels
---------------------------------------------------------

The Data Outline control requires a special parameterization when joining two levels on GUID columns. Without this parameterization, the data in the second level does not appear. The Data Outline Control wizard handles this case correctly. For an example of correct parameterization for this case, construct an outline using the wizard and view its properties.

Incorrect Error Message When ODBCKeySize Setting Is Too Small
-------------------------------------------------------------

The Data Outline control gives the following error message when the ODBCKeySize setting is too small:

      "The primary key was larger than expected. Under the [DOC]
      section of the DBOUTL.INI file specify a larger ODBCKeySize."

  The error message should read:

      "The primary key was larger than expected. Specify a larger
      ODBCKeySize setting under the HKEY_CLASSES_ROOT\CLSID\
      {B38A9A20-101B-965E-00AA00339BFF} section of the system
      registry."

For more information, see the Special Topics section in the Data Outline Control Help file.


ImageList Control

Custom Bitmap Sizes in an ImageList Control
-------------------------------------------

You can load images of any size into the ImageList control and then display those images in the size specified by the control's ImageHeight and ImageWidth properties. You specify the control's image size on the first page of the custom property sheet before adding images to the control. The ImageList control automatically sizes added images.

Image Size Settings Lost When Setting MaskColor Property
--------------------------------------------------------

Setting or viewing the MaskColor property on the ImageList control's Colors tab resets the ImageHeight and ImageWidth property values. Cancelling out of the control's custom property sheet does not undo this change. You must set the MaskColor property before you set the image size and before you add images to the control. You can change the ImageHeight and ImageWidth properties for a control that contains images by removing existing images, changing the image sizing information, and then adding the images back to the control.

"Out of Memory" Errors Adding Icons After Bitmaps
-------------------------------------------------

You cannot add an icon image to an ImageList control that already contains a large bitmap. Doing so generates "Out of Memory" errors. To include bitmaps and icons in an ImageList control, set the ImageHeight and ImageWidth properties, insert any icon files you want first, and then insert any bitmap files you want.


ListView Control

Incorrect Arrange Property Constant
-----------------------------------

The ListView control's Arrange property lists the constant for the default Arrange property as lvwNoArrange. The correct constant for this setting is lvwNone. These constants are correctly listed in the ListView control's Constants topic.


RichTextBox Control

RichTextBox Focus Problems and Issues Related to Data Binding
-------------------------------------------------------------

The RichTextBox control currently interferes with the way Microsoft Access handles the focus for active objects. The workaround is to force the focus onto the control. See the example below for reference. 

The RichTextBox control cannot be directly bound to a data source. However, using Visual Basic it is possible to make a RichTextBox control behave as if it were databound. The following example demonstrates this technique.

To use the following example, open the Employees form in the Northwind database. Paste the sample code in the Employees form Declarations section immediately below the Option Explicit line. Set the form's KeyPreview property to Yes. Delete the Notes control and insert a RichTextBox control named rtfNotes in its place. Toggle the form to form Browse view and move through several records. The rtfNotes control should behave as if it were a databound control.

There are two cases that are not fully handled by the following example. First, if the control does not receive either the SelChange event or the MouseUp event, the focus is not passed to the control. The only known example of this is if the user selects text in the control that has already been selected (no SelChange event) and drags the mouse out of the control (no MouseUp event). The most common case is selecting all the text in the control by starting the drag operation at the bottom right corner and ending the drag operation out of the control. Trapping on the MouseDown event instead of on the MouseUp event works for this case, but causes some minor repaint issues. Second, if a user drags some Rich Text from another control or from a Rich Text source such as WordPad, the form does not receive the focus if it doesn't already have it. The paste succeeds, but the form remains disabled.

Dim intHaveFocus As Integer       ' Does the control have the focus?
Dim intDataCurrent As Integer     ' Is the data in the control current?

Private Sub Form_BeforeUpdate(Cancel As Integer)
    ' Do the pull of the data. Have to do it before the update, so it
    ' gets saved with the rest of the form data.
    If intDataCurrent = False Then
        Me!Notes = Me!rtfNotes.TextRTF
        DataCurrent = True
    End If
End Sub

Private Sub Form_Current()
    Dim intHaveFocusStore As Integer
    
    ' Do the push of the data.  We mark intDataCurrent as False so that
    ' the Change event won't trigger. If it does, the record will be
    ' marked dirty even though it's not. We also have to set the
    ' fHaveFocus to False so that the control does not become the active
    ' control.
    
    intHaveFocusStore = intHaveFocus
    intHaveFocus = True
    intDataCurrent = False
    SetRTFData
    intDataCurrent = True
    intHaveFocus = intHaveFocusStore
End Sub

Private Sub Form_KeyUp(intKeyCode As Integer, intShift As Integer)
    ' This is the only place to trap that the user chose to cancel
    ' the update. We reset the data if it's dirty.
    If intKeyCode = vbKeyEscape Then
        If Not intDataCurrent Then
            SetRTFData
            intDataCurrent = True
        End If
    End If
End Sub

Private Sub Form_Load()
    ' This works around a repaint problem with the RTF control.
    Me!rtfNotes.Refresh
    
    ' Reset this variable here. If the control is the first
    ' in the tab order, it's GotFocus will set this right.
    intHaveFocus = False
    
    ' Set margin to force word wrap.
    Me!rtfNotes.RightMargin = Me!rtfNotes.Width - 200
End Sub

Private Sub rtfNotes_Change()
    ' This covers the case in which the user drags something
    ' onto the control from another RTF container.
    If Not intHaveFocus Then
        rtfNotes.SetFocus
    End If
    
    ' If this is the first change in the control, we change
    ' the notes field to mark the record as dirty.
    If intDataCurrent Then
        Me!Notes = rtfNotes.TextRTF
        intDataCurrent = False
    End If
End Sub

Private Sub rtfNotes_GotFocus()
    intHaveFocus = True
End Sub

Private Sub rtfNotes_LostFocus()
    intHaveFocus = False
End Sub

Private Sub rtfNotes_MouseUp(ByVal intButton As Integer, _
 ByVal intShift As Integer, ByVal lngX As Long, ByVal lngY As Long)
    ' This covers the cases that the user clicks into the control.
    If Not intHaveFocus Then
        rtfNotes.SetFocus
    End If
End Sub

Private Sub rtfNotes_SelChange()
    ' This covers the case of the user selecting some chunk of the
    ' control, but leaves the control before the MouseUp (Select All is
    ' a good case for this.)
    If Not intHaveFocus Then
        rtfNotes.SetFocus
    End If
End Sub

Sub SetRTFData()
    ' If there is no data, we reset the text property. We also set
    ' the default size here.
    If IsNull(Me!Notes) Then
        Me!rtfNotes.Text = ""
        Me!rtfNotes.Font.Size = 8
    Else
        Me!rtfNotes.TextRTF = Me!Notes
    End If
End Sub

Control Paints Incorrectly When Switching from Design to Browse View
--------------------------------------------------------------------

The RichTextBox control might not paint properly when switching from form Design View to form Browse view. This does not occur when the form containing the control is opened in form Browse view directly from the Database Container. You can use the RichTextBox control's Refresh method in the form's Load event to repaint the control.

Incorrect Font Spacing After Font Size Is Changed
-------------------------------------------------

When you change the RichTextBox control's font size at run time, font spacing might be incorrect. For example, changing the font size can cause text to appear double-spaced, improperly aligned, or truncated. To make the control to display text properly, reset its Text property.

SelPrint Method Not Supported
-----------------------------

The RichTextBox control's SelPrint method is not supported in Microsoft Access for Windows 95. If used at run time, the SelPrint method fails without generating an error.


Slider Control

Reset Height and Width After Changing Orientation Property at Run Time
----------------------------------------------------------------------

If the Orientation property is changed at run time using Visual Basic, the control's Height and Width properties do not automatically adjust to the new orientation and must be set to properly size the control.


TabStrip Control

TabStrip ClientLeft and ClientTop Properties Return Incorrect Values
--------------------------------------------------------------------

The TabStrip control's ClientLeft and ClientTop properties return incorrect values. You can use the TabStrip control's Width and Height properties in conjunction with the control's ClientWidth and ClientHeight properties as follows:  

  Private Sub Form_Load()
	Dim objTab As Object, ctlsubfrm1 As Control, intAdjust As Integer
	Set objTab = Me!TabStrip1
	Set ctlsubfrm1 = Me!subfrmTabControls

	' Size subform to TabStrip client area.
	intAdjust = (objTab.Width - objTab.ClientWidth) / 2
	
	ctlsubfrm1.Top = objTab.Top + objTab.Height - _
	  objTab.ClientHeight - intAdjust
	ctlsubfrm1.Left = objTab.Left + intAdjust
	ctlsubfrm1.Width = objTab.ClientWidth
	ctlsubfrm1.Height = objTab.ClientHeight
	ctlsubfrm1.SetFocus
  End Sub

Subform Control Might Not Properly Receive Focus
------------------------------------------------

You need to use a subform control to contain the controls you want displayed for each tab in the control. You can associate a subform control with a Tab object by setting the Visible property of the subform control in the TabStrip control's Click event. You must then explicitly set the focus to the subform control or the subform's controls might not be accessible. However, it is recommended that you use a single subform control on a TabStrip and change its SourceObject property to display different forms associated with each Tab object. 


Toolbar Control

RestoreToolbar Method Requires Buttons with Images
--------------------------------------------------

This method, when used in conjunction with the SaveToolbar method, only restores toolbar buttons that have associated images. The only way to restore buttons that do not have associated images is to use the Reset button in the control's Customize dialog box.

Custom Button Size Lost During Switch from Browse to Design View
----------------------------------------------------------------

If you specify a custom button height or width for buttons in a Toolbar control, the settings are lost in the switch from Browse to Design view. The buttons return to their default sizes. To maintain a custom button size, associate the Toolbar control with an ImageList control. It is not necessary to assign images to buttons, merely associate the Toolbar control with the ImageList control.

Multiline Toolbar Can Resize Incorrectly in Design View
-------------------------------------------------------

If you have a Toolbar control that contains more than one row of buttons, the control can resize itself when switching from Form view to Design view or when opened in Design view from the Database Container. If this occurs, make sure the control is properly sized before saving and closing the form.


TreeView Control

Right Mouse Button Argument Not Recognized
------------------------------------------

The TreeView control does not correctly set the Button argument value for the right mouse button during the control's MouseMove event.


MICROSOFT GRAPH

Using Named Constants with Microsoft Graph
------------------------------------------

In Microsoft Graph, there are many named constants used for application-specific settings. These constants all begin with the letters "xl" and are the same as the named constants used for Microsoft Excel. These constants are referenced throughout Microsoft Graph Help files and are useful for programming Microsoft Graph through OLE Automation.

There are three ways to declare these constants for Visual Basic. You can add a reference to the Microsoft Graph 5.0 object library (Gren50.olb). However, neither the full Access installation nor a run-time Access installation registers this library by default. You can also access the constants by adding a reference to the Microsoft Excel 5.0 object library (Xlen50.olb). If neither of these libraries is registered on the computer where a user is running your application, the code in your application will fail.

To work around these issues, include the following text in a module. This code declares all of the constants used for Microsoft Graph 5.0 in your database application, ensuring that they are available regardless of the location of the above libraries.

' Constants for Microsoft Graph 5.0.
Global Const xl3DArea As Integer = -4098
Global Const xl3DBar As Integer = -4099
Global Const xl3DColumn As Integer = -4100
Global Const xl3DLine As Integer = -4101
Global Const xl3DPie As Integer = -4102
Global Const xl3DSurface As Integer = -4103
Global Const xlArea As Integer = 1
Global Const xlAutomatic As Integer = -4105
Global Const xlBar As Integer = 2
Global Const xlBoth As Integer = 1
Global Const xlBottom As Integer = -4107
Global Const xlBuiltIn As Integer = 0
Global Const xlCap As Integer = 1
Global Const xlCategory As Integer = 1
Global Const xlCenter As Integer = -4108
Global Const xlChecker As Integer = 9
Global Const xlCircle As Integer = 8
Global Const xlColumn As Integer = 3
Global Const xlColumns As Integer = 2
Global Const xlCombination As Integer = -4111
Global Const xlContinuous As Integer = 1
Global Const xlCorner As Integer = 2
Global Const xlCrissCross As Integer = 16
Global Const xlCross As Integer = 4
Global Const xlCustom As Integer = -4114
Global Const xlDash As Integer = -4115
Global Const xlDashDot As Integer = 4
Global Const xlDashDotDot As Integer = 5
Global Const xlDefaultAutoFormat As Integer = -1
Global Const xlDiamond As Integer = 2
Global Const xlDistributed As Integer = -4117
Global Const xlDot As Integer = -4118
Global Const xlDouble As Integer = -4119
Global Const xlDoubleAccounting As Integer = 5
Global Const xlDoughnut As Integer = -4120
Global Const xlDown As Integer = -4121
Global Const xlDownward As Integer = -4170
Global Const xlExponential As Integer = 5
Global Const xlFixedValue As Integer = 1
Global Const xlGray16 As Integer = 17
Global Const xlGray25 As Integer = -4124
Global Const xlGray50 As Integer = -4125
Global Const xlGray75 As Integer = -4126
Global Const xlGray8 As Integer = 18
Global Const xlGrid As Integer = 15
Global Const xlHairline As Integer = 1
Global Const xlHigh As Integer = -4127
Global Const xlHorizontal As Integer = -4128
Global Const xlInside As Integer = 2
Global Const xlInterpolated As Integer = 3
Global Const xlJustify As Integer = -4130
Global Const xlLeft As Integer = -4131
Global Const xlLightDown As Integer = 13
Global Const xlLightHorizontal As Integer = 11
Global Const xlLightUp As Integer = 14
Global Const xlLightVertical As Integer = 12
Global Const xlLine As Integer = 4
Global Const xlLinear As Integer = -4132
Global Const xlLogarithmic As Integer = -4133
Global Const xlLow As Integer = -4134
Global Const xlMaximized As Integer = -4137
Global Const xlMaximum As Integer = 2
Global Const xlMedium As Integer = -4138
Global Const xlMinimized As Integer = -4140
Global Const xlMinimum As Integer = 2
Global Const xlMinusValues As Integer = 3
Global Const xlMovingAvg As Integer = 6
Global Const xlNextToAxis As Integer = 4
Global Const xlNoCap As Integer = 2
Global Const xlNone As Integer = -4142
Global Const xlNormal As Integer = -4143
Global Const xlNotPlotted As Integer = 1
Global Const xlOpaque As Integer = 3
Global Const xlOutside As Integer = 3
Global Const xlPercent As Integer = 2
Global Const xlPicture As Integer = -4147
Global Const xlPie As Integer = 5
Global Const xlPlus As Integer = 9
Global Const xlPlusValues As Integer = 2
Global Const xlPolynomial As Integer = 3
Global Const xlPower As Integer = 4
Global Const xlPrimary As Integer = 1
Global Const xlRadar As Integer = -4151
Global Const xlRight As Integer = -4152
Global Const xlRows As Integer = 1
Global Const xlScale As Integer = 3
Global Const xlSecondary As Integer = 2
Global Const xlSemiGray75 As Integer = 10
Global Const xlSeries As Integer = 3
Global Const xlShowLabel As Integer = 4
Global Const xlShowLabelAndPercent As Integer = 5
Global Const xlShowPercent As Integer = 3
Global Const xlShowValue As Integer = 2
Global Const xlSingle As Integer = 2
Global Const xlSingleAccounting As Integer = 4
Global Const xlSolid As Integer = 1
Global Const xlSquare As Integer = 1
Global Const xlStack As Integer = 2
Global Const xlStar As Integer = 5
Global Const xlStDev As Integer = -4155
Global Const xlStError As Integer = 4
Global Const xlStretch As Integer = 1
Global Const xlThick As Integer = 4
Global Const xlThin As Integer = 2
Global Const xlTop As Integer = -4160
Global Const xlTransparent As Integer = 2
Global Const xlTriangle As Integer = 3
Global Const xlUp As Integer = -4162
Global Const xlUpward As Integer = -4171
Global Const xlValue As Integer = 2
Global Const xlVertical As Integer = -4166
Global Const xlWizardDisplayAlways As Integer = 1
Global Const xlWizardDisplayDefault As Integer = 0
Global Const xlWizardDisplayNever As Integer = 2
Global Const xlX As Integer = -4168
Global Const xlXYScatter As Integer = -4169
Global Const xlY As Integer = 1
Global Const xlZero As Integer = 2


WIN32 API VIEWER

"Unexpected Error" When Opening an Invalid Database File
--------------------------------------------------------

The Win32 API viewer reports unexpected errors if you try to open an invalid Microsoft Access database. After the unexpected errors are reported, the Win32 API Viewer continues to report errors, even though it performs most tasks correctly. To return normal functionality, restart the viewer.

Code Segments Need to Be Pasted in a Specific Order
---------------------------------------------------

In some cases, Declaration statements pasted by the Win32 API Viewer depend on Types, also defined by the viewer. All items pasted by the viewer are copied to the clipboard in the order in which they are added by the user. To ensure that your code works, paste Constants, then Types, then Declarations.


MICROSOFT ACCESS DEVELOPER SAMPLER CD

Roadmap Crashes If Using Keyboard on Particular Topic
-----------------------------------------------------

If you use the keyboard to navigate to the fourth page of the "Corporate Evaluation" topic in the German subsection of the Visual Basic information, the Roadmap program gives you several errors. The Roadmap program then crashes after being closed. You must restart Windows before restarting the Roadmap program.

Painting Problems in the Developer Roadmap
------------------------------------------

When jumping to the first page shown in the Subtopics window, parts of this window will still be displayed in the tree view. To repaint the view, minimize and restore the Developer Roadmap.  

Also, the topic "Technical Specification" under the "Internet Assistant" subheading of the "Office Development Platform" section will initially display empty. When you encounter an empty topic, you must repaint the Roadmap by minimizing and restoring it.

First Page of Mastering Access Preview Does Not Wait for Click on Button
------------------------------------------------------------------------

The first page of the Mastering Access Preview automatically proceeds to the Application Details screen without waiting for you to click on the button to indicate that you are ready to continue.


DOCUMENTATION

Online Help

Getting Help on Custom Controls
-------------------------------

To get Help on custom controls, open Microsoft Access Help, double-click the Microsoft Access Developer's Toolkit book in the Contents, and double-click on the Custom Controls book. You cannot get to Help by pressing F1 in the property sheet (for custom control properties only), the Module window, or the Object Browser.

In addition, if you have Visual Basic 4.0 installed on your machine, when you press F1 in the Object Browser or Module window, the Visual Basic version of Help is displayed for the custom controls.

Printing Help Topics on Windows NT
----------------------------------

If you are using Windows NT version 3.51, you must have the Service Pack installed to print online Help topics.

ADT Help Topics Available from Contents and Index Tabs of Microsoft
Access Help
-------------------------------------------------------------------

When you install the ADT, the Contents of the ADT Help is added to the end of the Microsoft Access Help file Contents. Index entries for Help file topics associated with components of the ADT are also merged into the Microsoft Access online index, so you can search the online index for information on ADT components. ADT topics are not available through the Answer Wizard.

Changes to the Microsoft Access Help Topic "Microsoft Language Elements
That Apply to Custom Controls"
-----------------------------------------------------------------------

In Microsoft Access Help, there is a topic called "Microsoft Language Elements That Apply to Custom Controls." The following modifications and additions apply to this topic:

The Locked property is available only for custom controls that support binding.

The following Microsoft Access properties, available only in Visual Basic or from a macro, also apply to all custom controls:

EventProcPrefix
ControlType
Section
ObjectVerbsCount
InSelection
Parent

Printed Language Reference and Data Access Reference

Microsoft Office 95 Data Access Reference
-----------------------------------------

In the Database Object topic, make the following corrections in the Microsoft Access Example:

Remove the comma that follows "dbsNew As Database".

Remove dbLangGeneral from the following line, and capitalize "set" in the same line:

     set dbsAnother = wsp.OpenDatabase("Another.mdb", dbLangGeneral)

The line should read:

     Set dbsAnother = wsp.OpenDatabase("Another.mdb")

***

In the AddNew Method topic, the Microsoft Access Example should read as follows:

The following example creates a new record in an Employees table and saves the changes.

Sub AddNewRecord()
	Dim dbs As Database, rst As Recordset
	
	' Return Database variable pointing to current database.
	Set dbs = CurrentDb
	Set rst = dbs.OpenRecordset("Employees")
	With rst
		' Add new record to end of Recordset object.
		.AddNew 
		![LastName] = "Russell"   ' Add data.
		![FirstName] = "Peter"

            .Update                   ' Save changes.
      End With
	dbs.Close
End Sub

***


Microsoft Access Language Reference
-----------------------------------

In the Report Object topic, the ActiveControl and ActiveReport properties are listed as applying to this object. There are a number of other properties that also apply to reports, which are listed in the Report Properties topic in Microsoft Access Help.

To see the properties, methods, and events that apply to the Report object and the Form object, see the topics that list these sets of language elements in Microsoft Access Help.

***

In the PrtMip Property topic's first Example, all the variables declared as Long data types should be declared as Integer data types.

***

In the Save Method topic, the Example won't work, because you cannot use the Save method to carry out a Save As action on a form in Form view or Datasheet view, a report in Print Preview, or a module. You could however, save the active form with the same name by leaving out both arguments for the method, or save another form named "Employees Form" using the following line of Visual Basic code:

     DoCmd.Save acForm, "Employees Form"

***

In the StartupForm Property topic's Example, all of the dbInteger constants used with the varPropType argument of the ChangeProperty function should be dbBoolean.

***

In the SysCmd Function topic, it should specify that the text argument is required when action is acSysCmdInitMeter, acSysCmdUpdateMeter, or acSysCmdSetStatus, and is not valid for other action values. The value argument is required when action is acSysCmdInitMeter, and is not valid for other action values.

***

In the Echo Method (DoCmd Object) topic, the final sentence "The Echo method of the DoCmd object is different from the Echo method of the Application object" is false and should be deleted.

***

The TransferSpreadsheet Action topic says you can specify the range of cells to import or link by using the A1:E25 or the A1..E25 syntax. You can only use the A1:E25 syntax; the other syntax no longer works. Additionally, this topic says that Microsoft Access ignores the Range argument when you export. This is not true; if you use the A1:E25 syntax to set a range of cells for this argument, the export fails. Leave this argument blank if you want to use this action to export Microsoft Access data to a spreadsheet.

***

The TransferSpreadsheet Action topic and the TransferSpreadsheet Method topic both say if you are exporting Microsoft Access data to a spreadsheet, the field names are inserted into the first row of the spreadsheet if you select Yes (True) for the Has Field Names argument. It does not matter what you select in this argument; Microsoft Access always inserts the field names in the first row when exporting to a spreadsheet. However, the setting of the Has Field Names argument does take effect if you are importing or linking spreadsheet data.


FILE LIST

Microsoft ADT:

  \Msoffice\Access\Adt\Adteula.txt
  \Msoffice\Access\Adt\Adtpss.cnt
  \Msoffice\Access\Adt\Adtpss.hlp
  \Msoffice\Access\Adt\Msadt.exe
  \Msoffice\Access\Adt\Msadt1.dll
  \Msoffice\Access\Adt\Msadt2.dll
  \Msoffice\Access\Adt\Msarun.cnt
  \Msoffice\Access\Adt\Msarun.hlp
  \Msoffice\Access\Adt\Readme.txt
  \Windows\System\Hlp95en.dll

  \Windows\Start Menu\Programs\Microsoft ADT\About Microsoft ADT.lnk
  \Windows\Start Menu\Programs\Microsoft ADT\Microsoft ADT Help.lnk
  \Windows\Start Menu\Programs\Microsoft ADT\Microsoft ADT Readme.lnk

Microsoft ADT Setup:

  \Msoffice\Access\Adt\Setup\Acmsetup.hlp
  \Msoffice\Access\Adt\Setup\Msacccah.dll
  \Msoffice\Access\Adt\Setup\Msadtusa.dll
  \Msoffice\Access\Adt\Setup\Mssetup.dll
  \Msoffice\Access\Adt\Setup\Setup.exe
  \Msoffice\Access\Adt\Setup\Setup.inf
  \Msoffice\Access\Adt\Setup\Setup.stf

  \Windows\Start Menu\Programs\Microsoft ADT\Microsoft ADT Setup.lnk

Setup Wizard:

  \Msoffice\Access\Adt\Setup Wizard\Wzstp70.mdb
  \Msoffice\Access\Adt\Setup Wizard\Msawzstp.hlp
  \Windows\System\Swu7032.dll

  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\00Setup.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\01Microsoft Access Run-Time
    Version.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\02Microsoft Excel ISAM.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\03Paradox ISAM.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\04Text ISAM.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\05Lotus ISAM.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\06Xbase ISAM.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\07Microsoft Graph 5
    Run-Time Version.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\08Workgroup
    Administrator.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\09Replication.mdt
  \Msoffice\Access\Adt\Setup Wizard\Msaccomp\10ODBC Support with SQL
    Server.mdt

  \Msoffice\Access\Adt\Setup Wizard\Redist\Acmsetup.exe
  \Msoffice\Access\Adt\Setup Wizard\Redist\Acmsetup.hlp
  \Msoffice\Access\Adt\Setup Wizard\Redist\Ctl3d32.dll
  \Msoffice\Access\Adt\Setup Wizard\Redist\Expand.exe
  \Msoffice\Access\Adt\Setup Wizard\Redist\Msacccah.dll
  \Msoffice\Access\Adt\Setup Wizard\Redist\Msadtusa.dll
  \Msoffice\Access\Adt\Setup Wizard\Redist\Msarnreg.dll
  \Msoffice\Access\Adt\Setup Wizard\Redist\Msarnreg.exe
  \Msoffice\Access\Adt\Setup Wizard\Redist\Mssetup.dll
  \Msoffice\Access\Adt\Setup Wizard\Redist\Qfeupd.exe
  \Msoffice\Access\Adt\Setup Wizard\Redist\Setup.exe
  \Msoffice\Access\Adt\Setup Wizard\Redist\Setup.ini
  \Msoffice\Access\Adt\Setup Wizard\Redist\Setup.tdf

  \Windows\Start Menu\Programs\Microsoft ADT\Setup Wizard.lnk

Microsoft Replication Manager:

  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msajetfs.dll
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msjrmi30.dll
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msjtlcrm.exe
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msjtrm.cnt
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msjtrm.hlp
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msjttr.exe
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Msjtwtpr.doc
  \Program Files\Common Files\Microsoft Shared\Replication
    Manager\Replman.exe
  \Windows\Fonts\Hatten.ttf
  \Windows\System\Vbrun300.dll
  \Windows\System\Visx.exe
  \Windows\System\Visxutil.dll

  \Windows\Start Menu\Programs\Microsoft ADT\Microsoft Replication
    Manager.lnk
  \Windows\Start Menu\Programs\Microsoft ADT\Microsoft Replication
    Whitepaper.lnk

Custom Controls:

  \Msoffice\Access\Adt\Outline Control\Outline.mdb
  \Msoffice\Access\Adt\Outline Control\Wzdboutl.mda
  \Windows\System\Comctl32.ocx
  \Windows\System\Comdlg32.ocx
  \Windows\System\Mfc40.dll
  \Windows\System\Msadtctl.cnt
  \Windows\System\Msadtctl.hlp
  \Windows\System\Msdboutl.cnt
  \Windows\System\Msdboutl.hlp
  \Windows\System\Msdboutl.ocx
  \Windows\System\Msvcrt40.dll
  \Windows\System\Olepro32.dll
  \Windows\System\Richtx32.ocx
  \Windows\System\Spin32.ocx

Office Compatible Guidelines:

  \Msoffice\Access\Adt\Ocbtk.doc

Win32 API Viewer:

  \Msoffice\Access\Adt\Win32 API Viewer\Apilod.txt
  \Msoffice\Access\Adt\Win32 API Viewer\Apilod32.exe
  \Msoffice\Access\Adt\Win32 API Viewer\Win31api.txt
  \Msoffice\Access\Adt\Win32 API Viewer\Win32api.mdb
  \Msoffice\Access\Adt\Win32 API Viewer\Win32api.txt
  \Msoffice\Access\Adt\Win32 API Viewer\Winmmsys.txt
  \Windows\System\Dblist32.ocx
  \Windows\System\Vb40032.dll
  \Windows\System\Vbdb32.dll

  \Windows\Start Menu\Programs\Microsoft ADT\Win32 API Viewer.lnk

Microsoft Help Workshop:

  \Program Files\Help Workshop\Hcrtf.exe
  \Program Files\Help Workshop\Hcw.cnt
  \Program Files\Help Workshop\Hcw.exe
  \Program Files\Help Workshop\Hcw.hlp
  \Program Files\Help Workshop\Mrbc.exe
  \Program Files\Help Workshop\Shed.exe
  \Program Files\Help Workshop\Shed.hlp
  \Windows\System\Hwdll.dll

  \Windows\Start Menu\Programs\Microsoft ADT\Microsoft Help Workshop.lnk

Microsoft Graph 5.0 Run-Time Version:

  \Program Files\Common Files\Microsoft Shared\Msgraph5\Gr5run.exe
  \Program Files\Common Files\Microsoft Shared\Msgraph5\Vba_grp.cnt
  \Program Files\Common Files\Microsoft Shared\Msgraph5\Vba_grp.hlp
