Copyright: © FMS, Inc.


Help Contents
Contents

Introduction

Installation

Using the Total Access Memo Control

Setting the Properties of the Detail Section

Using the FMS Rich Text Editor

Programmatic Interface

Distributing Total Access Memo

Programmatic Control Reference

Product Support

License Agreement


Introduction

About Total Access Memo

Product Highlights

Visit our Web Site


Installation

System Requirements

Licensing Rules

Installing Total Access Memo

Using the Update Wizard

Upgrading from Previous Versions

Uninstalling Total Access Memo


Using the Total Access Memo Control

Using the Sample Database

Adding the Total Access Memo Control

Setting Total Access Memo Control Properties

Adding and Editing Rich Text

Using the Control on Access Reports


Setting the Properties of the Detail Section

Maximum Control Height Limitations

Troubleshooting Custom Controls


Using the FMS Rich Text Editor

Using the FMS Rich Text Editor

Editor Components

File Menu Options

Edit Menu Options

Insert Menu Options

Format Menu Options

Tools Menu Options

Standalone Editor


Programmatic Interface

Programmatic Interface

Using the TAMEMO_R.MDE for Report Resizing

Setting and Reading Properties

Setting Properties at Design Time vs. Code

Using Methods

Responding to Events

Complete Word Feature in Access


Distributing Total Access Memo

Licensing Issues

Distributing Total Access Memo

Troubleshooting


Programmatic Control Reference

Properties

Methods

Events

Property, Method, and Event Reference

Constants


Product Support

Support Resources

Web Site Support

Technical Support Options

Contacting Technical Support


License Agreement

License Agreement


About Total Access Memo

Total Access Memo adds formatted memo fields to your Access 2000, 2002, and 2003 databases. Simply add the Total Access Memo control to your form or report, and bind it to a memo field. Use the built-in RTF editor, or format text programmatically to:

•	Give form users the ability to add text with different font styles, bullet points, tabs, paragraph margins, indentations, paragraph spacing, color, graphics, etc.

•	Create presentation quality reports with custom formatting, graphics, images, and more.

You can even distribute your Total Access Memo applications to your users with the royalty-free distribution license. Simply launch the runtime installation program on your users' machines, and they can use the Total Access Memo controls in your application. See Distributing Total Access Memo for details.


Product Highlights

Total Access Memo Control

The Total Access Memo control is easy to use—just drop it on your Access form or Report, bind it to a memo field, and you're ready to go! The Total Access Memo control includes the following features:

•	Supports Access 2000, 2002, and 2003 databases

•	Adds Rich Text Format (RTF) memo fields to any form or report

•	Supports adding multiple controls to a form or report

•	Can be bound to any memo field, including fields that already contain text

•	Stores rich text data in industry-standard RTF syntax in your table's memo fields

•	Supports clipboard copy and paste of RTF text to and from other Windows programs (such as Word or WordPad)

•	Allows exporting field contents to RTF files

Built-In Editor

Total Access Memo comes with a complete integrated Rich Text Editor that allows you and your users to type, edit and format rich-text with ease.

•	No programming required—just press [Shift]+[F2] to open the editor

•	Full menus, context sensitive help, and customizable toolbars

•	Includes spell checking using the Office 2000, 2002 (XP), or 2003 Spell Checker

•	Format text with any font type, size, color, character style (bold, italic, underline, superscript, subscript, strikeout), hyperlinks, bullet points, line and paragraph spacing, margins and indentation, tabs, etc.

•	Unlimited Undo and Redo

•	Paragraph alignment supports left, center, right, and full justification

Programmatic Interface

Total Access Memo includes a programmatic interface to allow you to customize the control at run time. Use the Total Access Memo properties, methods, and events to get the most out of the control.

•	Provides custom properties for text style and formatting

•	Provides several custom events

•	Provides methods to open and close the editor, perform find/replace, load an RTF file into the control, etc.

•	Provides a Text property, which contains text only without formatting code

Royalty-Free Runtime License

Total Access Memo includes a royalty-free runtime distribution license for developers to distribute applications with Total Access Memo controls to non-Total Access Memo owners. Just launch the runtime installation program on your users' machines, and they can use the Total Access Memo controls in your application!


Visit our Web Site

FMS is constantly developing new and better developer solutions. Total Access Memo is part of our complete line of products designed specifically for the Access developer. Please take a moment to visit us online at www.fmsinc.com to find out about new products and updates.

Product Announcements and Press Releases

Read the latest information on new products, new versions, and future products. Press releases are available the same day they are sent to the press. Sign up in our Feedback section to have press releases automatically sent to you via email.

Product Descriptions and Demos

Detailed descriptions for all of our products are available. Each product has its own page with information about features and capabilities. Demo versions for most of our products are also available.

Product Registration

Register your copy of Total Access Memo online. Be sure to select the email notification option so you can be contacted when updates are available or news is released. You must be registered to receive technical support.

Product Updates

FMS is committed to providing quality software. When we find problems in our products, we fix them and post the new builds on our web site. Check our Product Updates page in the Technical Support area for the latest build.

You can also use the Update Wizard to check for the latest update.

Utilities and Free Software

Download free demos and utilities, including add-ins and developer tools.

Technical Papers

FMS personnel often speak at conferences and write magazine articles, papers, and books. Copies and portions of this information are available to you online. Learn about our latest ideas and tricks for developing more effectively.

Newsgroups

Share your experiences, learn from others, and ask your questions in our virtual community. Visit our newsgroups at:

www.fmsinc.com/support/newsgrp.htm

Or see our web site for additional instructions.

Links to Other Development Sites

Jump to other locations, including newsgroups, user group home pages, and other sites with Access and Visual Basic news, techniques, and related services.


System Requirements

Total Access Memo's system requirements are the same as the requirements for Access:

•	Pentium processor or better

•	32 MB RAM (64 MB or more recommended)

•	10 MB of free hard disk space

•	Microsoft Access 2000 (version 9), 2002 (version 10), or 2003 (version 11)

	Do not install this version of Total Access Memo on a machine where you are using Total Access Memo 2000 with Access 97 databases. Installing this version of Total Access Memo upgrades all Total Access Memo 2000 controls. Using Total Access Memo 2003 with Access 97 is unsupported.


Licensing Rules

Licensing rules are described in detail in the  License Agreement. Each developer must own a Total Access Memo license. The license includes the right to use Total Access Memo, as well as a runtime license for distributing applications containing Total Access Memo to your end users. These end users may use Total Access Memo in your application, but may not add it to their own forms and reports.

FMS offers a discounted five-user license of Total Access Memo that provides development and distribution rights for five developers. FMS also offers quantity discounts and site license programs to let you economically add user counts. Please contact us for more information.


Installing Total Access Memo

Total Access Memo is installed using an automated setup program. To install Total Access Memo, follow these steps:

1.	Locate and run the setup program.

2.	When prompted, enter your registration information and product key (serial number).

3.	Specify the destination directory for the files.

Be sure to read the README.TXT file for any late breaking news that is not included in this User Guide.

List of Files Installed

The INSTALL.LOG file in the Total Access Memo installation directory lists the files installed plus a complete log of the Total Access Memo setup, including overwritten files, and the registry entries and Start Menu items created.


Using the Update Wizard

Total Access Memo includes a built-in mechanism to check the availability of updates via the Internet. If you have an active Internet connection, you can use the Total Access Memo Update Wizard to ensure that you have the latest version.

To run this program, press the Windows Start button and select Programs, FMS, Total Access Memo 2003, Update Wizard. Follow the prompts on the form to check for the latest update.


Upgrading from Previous Versions

For Access 97 Databases

Total Access Memo 2003 is not compatible with Access 97. You should not install Total Access Memo 2003 on a computer where you are using Total Access Memo 2000 with Access 97 databases. Instead, you should continue to use Total Access Memo 2000.

	Do not install this version of Total Access Memo on a machine where you are using Total Access Memo 2000 with Access 97 databases. Installing this version of Total Access Memo upgrades all Total Access Memo 2000 controls. Using Total Access Memo 2003 with Access 97 is unsupported.
For Access 2000 and Access 2002 Databases

If you are using Total Access Memo 2000 (version 9) or 2002 (version 10) with Access 2000 or 2002, installing Total Access Memo 2003 will update all Total Access Memo controls automatically. There are no additional steps that need to be taken.


Uninstalling Total Access Memo

To uninstall Total Access Memo:

1.	From the Windows Start Menu, select Control Panel.

2.	From the Control Panel window, select Add/Remove Programs.

3.	Select Total Access Memo from the list of installed programs, and press the Change/Remove button.

4.	Follow the onscreen prompts to uninstall the product.

Please keep in mind that the runtime license rules do not allow you to transfer your license to someone else if you have already distributed applications with Total Access Memo.


Using the Sample Database

One of the most important resources of Total Access Memo is the Sample Database. This database is a standard Access 2000 database containing forms, reports, and code that show how to use the Total Access Memo custom control in your application.

The sample database is in Access 2000 file format, and can be used in Access 2000, 2002, or 2003. The database is named TMDEMO00.MDB, and is located in the directory where you installed Total Access Memo.

To open the database, press the Windows Start button and select Programs, FMS, Total Access Memo 2003, and choose the sample database. In addition to providing examples of how to use the Total Access Memo control, the sample database is a tutor and guide demonstrating how to use the control in your own databases. The forms, reports, and modules are designed to be easy to "take apart" so you can see how things work. None of the objects are secured, so you can work through the examples and see exactly how the custom control works within an Access application.


Adding the Total Access Memo Control

In many respects, custom controls act like the built-in controls in Microsoft Access. There are three basic steps to use the control:

•	Insert the control on your form or report

•	Position and resize the control

•	Set properties in design-time by editing the property sheet:

•	Standard Access properties

•	Custom properties of the Total Access Memo control

•	Data binding

More:

Inserting a Custom Control in a Form or Report


Inserting a Custom Control in a Form or Report

Start by opening your form or report in design mode. Adding a custom control such as Total Access Memo is different from adding a built-in Access control.

Inserting Access Controls

Access built-in controls are displayed in the toolbox—you can simply drag a control (like a text box or command button) from the toolbox and place it on your form or report.

Inserting Custom Controls

Custom controls, such as the Total Access Memo control, are not available from the Access toolbox. Instead, select the menu Insert|ActiveX Control.

Access Insert | ActiveX Control Menu

	To use custom controls in an Access application, they must be registered on your computer system. Total Access Memo is registered during installation.

If Total Access Memo is correctly installed, it is listed in the "Insert ActiveX Control" list. The Total Access Memo Control is listed as "FMS Total Access Memo 2003 Control":

Insert ActiveX Control Dialog

After selecting the control, press [OK] on the dialog. The control is placed directly onto the currently selected section of your form or report:

Control Inserted onto a Form


Setting Total Access Memo Control Properties

There are two methods for setting ActiveX control properties in Microsoft Access:

Using the Access Properties Window

The Properties window can be used with any ActiveX control in Access. If the Properties Window is not already open, right click on the Total Access Memo control, and select Properties from the popup menu.

The Properties window displays both standard and custom properties. Set each property by editing the displayed value. For more information about a property, simply select the property and press [F1] for help.

Popup Menu	Properties Menu

Standard Properties

Standard properties are the properties that Access automatically provides for all ActiveX controls:

Property	Description
Visible	Determines if the control is visible
Display When	Determines when the control is visible
Left	Determines the left position of the control
Top	Determines the top position of the control
Width	Determines the width of the control
Height	Determines the height of the control
Special Effect	Determines the effect applied to the control
BorderStyle	Specifies the appearance of the control's border
BorderColor	Specifies the color of the control's border
BorderWidth	Specifies the width of the control's border
OLE Class	Specifies the description of the control object
Class	Specifies the class name of the control
Enabled	Determines if the User Interface for the control is enabled
Databound controls, such as the Total Access Memo control, have an additional property:

Property	Description
ControlSource	The field (data source) for the control
Data Binding

The Total Access Memo control supports data binding. Data binding links a control to a field in a form or report's Record Source. While running the form or report, data from the field is displayed in the control and any edits are automatically saved to the field. This is accomplished without writing any code.

To bind a control, the form or report's RecordSource property must be assigned. Simply assign the ControlSource property of the control to a field in the RecordSource. The ControlSource property is on the Data tab of the Properties Window. For Total Access Memo, it should be bound to a memo field.

Access Control Source Property

Custom Properties

Custom properties are the properties that an ActiveX control provides. Custom properties can be found on the [Other] tab in the standard Access property window. These properties are specific to the control type. For a complete list and definitions of all Total Access Memo properties, see  Property, Method, and Event Reference.

More:

Using the Custom Property Sheets

Commonly used Properties


Using the Custom Property Sheets

The Total Access Memo control has a customized property sheet for specifying its unique settings. There are three ways to view the custom property sheet:

•	Right click on the control, and select the FMS Total Access Memo 2003 Control Object|Properties… menu item

•	With the control selected, choose the Edit|FMS Total Access Memo 2003 Control Object|Properties… menu

•	Select the Custom property from the Other tab of the standard property sheet

The Properties menu item displays a customized property sheet that is specific to the custom control:

Custom Property Sheet

The settings for these properties are explained in detail in  Property, Method, and Event Reference.


Commonly used Properties

The following properties are the most frequently used properties in Total Access Memo. For more information about each property, please see  Property, Method, and Event Reference.

Property	Description
AutoVerbMenu	Determines if the right click popup menu is displayed
EditorEnabled	Determines whether the user can launch the editor
EditorTitle	Sets the title displayed in the editor
FixedRightMargin	Determines whether word-wrapping in the editor matches the control's width on the form
HeightOfText	Sets the height of the text in the control, which is useful for adjusting the control in a report (see Inserting a Custom Control in a Form or Report)
MaxLength	Sets the maximum allowed length of the text (in characters)


Adding and Editing Rich Text

Once a Total Access Memo control is placed on a form, and its ControlSource property is set to the name of the field storing the formatted Rich Text memo data, the control behaves much like a text box. You can view its contents and scroll through it if it exceeds the available space.

More:

In-Place Editing

Keyboard Navigation

FMS Rich Text Editor

Storing a Text Only Rpresentation of a Total Access Memo Field


In-Place Editing

Total Access Memo supports in-place editing. You can type directly into the control, copy and paste text, and delete lines and words. You can even drag and drop blocks of text from one location to another within the control. Depending on what you need to do and how large you made the control on your form, this may be sufficient in many cases.

However within the control on an Access form, there is no way to provide the full formatting and editing capabilities to apply font styles, paragraph formatting and so forth. To do this, you need to launch the included FMS Rich Text Editor.


Keyboard Navigation

Access uses keyboard shortcuts to simplify form navigation. Total Access Memo, however, assumes all keystrokes are intended for the control. This behavior is by design. To re-enable keyboard shortcut navigation, you must trap the KeyPress event. For example, if you wanted the [Tab] key to move to the next control, you could use the following code:

Private Sub tamDemo_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyTab Then
    ' Set the keystroke to zero. This causes
    ' Total Access Memo to ignore it
    KeyAscii = 0
    ' Set the focus to the next control
    txtDemo.SetFocus
  End If
End Sub

(Where tamDemo is the name of the Total Access Memo control and txtDemo is the name of the next control in the tab order.)


FMS Rich Text Editor

To launch the FMS Rich Text Editor, press [Shift]+[F2] while the cursor is in the Total Access Memo control.

The FMS Rich Text Editor is a separate program for modifying the memo text. The editor provides a full array of text editing and formatting features, which are discussed in more detail in  Using the FMS Rich Text Editor.

When you are finished formatting the memo, you can close the editor to automatically save the changes and display them on the Access form.

	It is not necessary to actually close the editor for your changes to be saved. If you leave the editor open, you may switch back to your copy of Microsoft Access, and scroll the form from row to row. As you scroll the Access form, the contents of the FMS Rich Text Editor are automatically saved and updated with the value shown on the current row of the Access form.


Storing a Text Only Rpresentation of a Total Access Memo Field

Occasionally, you may just want the text and not the rich text format of the RTF field. For instance, you may want the unformatted text on a report, or you may need to export the text to another program that does not support rich text format fields. Total Access Memo exposes a Text property, which returns the textual representation of the contents of the Total Access Memo control. Add an extra memo field to store the text data, and use the Text property in BeforeUpdate event of your form:

Private Sub Form_BeforeUpdate(Cancel As Integer)
  'Assign the text representation to the text field
  TextField = tamDemo.Text
End Sub

(Where TextField is the name of the text field, and tamDemo is the name of the Total Access Memo control.)


Using the Control on Access Reports

Adding a Total Access Memo control to an Access report is identical to adding it to a form. Open the report in design mode and choose the Insert|ActiveX Control menu option. Select the FMS Total Access Memo control, and position it on your report. Set the ControlSource property to the name of the memo field in your table that contains the formatted memo text.

	This section contains references to code. For more information regarding the programmatic interface to Total Access Memo, please see  Programmatic Interface . For more information regarding VBA code, please consult your Microsoft Access documentation.
Unfortunately, Access has several limitations when using custom controls on reports. The following sections explain these limitations and how to work around them:

•	Maximum Control Height Limitations

More:

Resizing the Memo Control on Reports


Resizing the Memo Control on Reports

When you add a databound control to a report, the amount of space needed to display the field can vary significantly. This can pose a problem when you have a Memo control on a report that is bound to a memo field with a varying amount of data from record to record.

This problem is easy to see when you place a Memo control on a report, size it to one inch, and then run the report. If the data shown by the Memo control will fit in the one inch control, you will see all the data, otherwise, you will see only part of the data.

To resize the Memo control based on the amount of data in a record, follow these steps:

Step 1 – Handle Section Resizing

The first step resizing the Memo control on reports is to set the CanGrow and CanShrink properties to Yes for the section containing the Memo control. For example, if your Memo control is in the report's Detail section, click on the Detail section bar ( [image]) and set CanGrow and CanShrink on the properties sheet to Yes.

Setting the Properties of the Detail Section

Step 2 – Handle Control Resizing

Although Microsoft Access provides the CanShrink and CanGrow properties to handle the size of controls on a report, these properties are not available for custom controls. Since Total Access Memo is a custom control, you must work around this issue to resize the control properly.

There are three methods for working around this issue—choose the method that is most appropriate for you, and follow the steps accordingly.

	The sample application that is included with Total Access Memo contains a variety of sample reports that show each of these workarounds and techniques in action.  Open the sample database, and then open the reports in design view to see how to handle control and section resizing properly.
Option 1: Reference the Function from your Project

The easiest way to resize the Memo control is to reference the TAMEMO_R.MDE file that is included with Total Access Memo, and use its ResizeFMSMemoAndMoveControls function to resize the control and move the controls below it. Refer to Using the TAMEMO_R.MDE for Report Resizing for details about referencing the MDE.

	Total Access Memo includes two library files: TAMemo_R.mde and TAMemoSigned_R.mde. The file that you select depends on the Access version(s) of your users. See Using the TAMEMO_R.MDE for Report Resizing for important notes about choosing the appropriate file.
The function is:

Function ResizeFMSMemoAndMoveControls _
   (ctlMemo As CustomControl, rpt As Report, _
   Optional fMoveControlsBelow As Boolean = True, _
   Optional fMoveAllControlsBelow As Boolean = True) _
   As Long

And its parameters are:

Parameter	Description
ctlMemo	The name of the Total Access Memo control.
strFieldTbl	The name of the report containing the control (the report that this function is called from).
fMoveControlsBelow	Optional. True to move controls below the Memo control, or False to not move controls. Note that this only applies to controls that overlap or are between the left and right of the Total Access Memo control.
fMoveAllControlsBelow	Optional. True to move all controls below the Memo control, or False to move only controls that overlap. Note that this property is only applicable if fMoveControlsBelow is True.
The function returns a long integer containing the error number if an error was encountered, or a value of 0 if it did not encounter errors.

	This function will decrease the Total Access Memo control height if the controls below it go over the Maximum section height for Reports. Since we are giving height priority to other controls, the other controls will not be truncated like the Total Access Memo control.

The following example code shows how to use the ResizeFMSMemoAndMoveControls function to move controls in response to the resizing of the Memo control:

Private Sub Detail_Format(Cancel As _
  Integer, FormatCount As Integer)
  'Variable to hold function's return value
  Dim lngReturn As Long
  'Call the function to resizes the control
  'and move any controls below it.
  lngReturn = ResizeFMSMemoAndMoveControls_
      (tamDemo, Me, True, True)
  'Check for an error and show it.
  'Or insert your own error handling here.
  If lngReturn <> 0 Then
    Err.Raise lngReturn
  End If
End Sub

Option 2: Import the Function into your Project

If you don't want to reference the TAMEMO_R.MDE file, or if you want to customize the function to suit your own needs, you can add the function to your own project. Simply locate the function called ResizeFMSMemoAndMoveControls in the sample database, and add it to your project. Once the function is in your project, you can call it as needed without adding an external reference.

Refer to Option 1 above for details about using the function.

Option 3: Add VBA Code to Handle Control Resizing

The third option may be used by more advanced VBA programmers who do not want to use the ResizeFMSMemoAndMoveControls function. This option includes multiple steps, and is more complex than using the Total Access Memo function:

1.	Add VBA code to your report to handle resizing the control. In the following example, code is placed in the report's Detail Format event procedure. This example assumes that your Total Access Memo control is named 'tamNotes':

Private Sub Detail_Format(Cancel As Integer, _
                          FormatCount As Integer)
  Me!tamNotes.Height = Me!tamNotes.HeightOfText
End Sub

This code works by using the HeightOfText property, which refers to the height of the text contained in the memo field. By setting the height of the Memo control to the value of the HeightOfText property value, the Memo control becomes tall enough to show all the data.

2.	Any controls that are beneath the Total Access Memo control may be covered when you increase its height. If you have controls that follow the Total Access Memo control on a page, you may need to adjust their positions as well. The following example code shows how to move the Country and Country Label controls in response to the resizing of the Memo control:

Private Sub Detail_Format(Cancel As Integer, _
                          FormatCount As Integer)
  Me!tamNotes.Height = Me!tamNotes.HeightOfText
  Detail.Height = Me!tamNotes.Top + _
                  Me!tamNotes.Height + _
                  Me!Country.Height
  Me!Country.Top = Me!tamNotes.Top + _
                   Me!tamNotes.Height
  Me![Country Label].Top = Me!Country.Top
End Sub

3.	Access reports are supposed to respect their sections' CanGrow and CanShrink properties. Unfortunately, Access reports do not properly shrink after the Total Access Memo control's resizing code "grows" the section.

For example, using the above resizing code, imagine that the Total Access Memo control is resized to be five inches high for the first record in the report. In this case, Access correctly resizes the detail section to accommodate the resized control.

On the next record, assume we resize the control down to two inches in response to the amount of data in the second record. Access properly resizes the Memo control in response to our code, but fails to shrink the section. This means that every subsequent record in our report has a detail section height of at least five inches because of the resizing of the first record. This results in a lot of wasted space on subsequent records.

To set your report to correctly shrink sections, add the following line of code to the report's DetailFormat Event procedure (in addition to the code added in step 1):

Detail.Height = Me!tamNotes.Top + _
                Me!tamNotes.Height + _
                Me!Country.Height

Or simply:

' Set the height to 1 twip. The section will
' shrink it to the bottom of the lowest control ' in the section).
Detail.Height = 1

This code works by setting the section's Height property to shrink to the smallest size possible for the controls within the section.

See also

Using the Control on Access Reports


Maximum Control Height Limitations

The total height of a section of an Access report is 22 inches, and therefore the Total Access Memo control's maximum height is also limited to 22 inches. In addition, if the control extends beyond one page, Microsoft Access may insert a blank page prior to printing the control. Excessively long memos may not print in their entirety on an Access report.

See also

Using the Control on Access Reports


Troubleshooting Custom Controls

Maximum Control Height Limitations

More:

Attaching Labels

ControlSource Property

Dirtying a New Record


Attaching Labels

Several of the built-in Access controls are created with associated labels (for example, the combo, listbox, subform, and option group controls). When you move the control, the label goes with it.

In addition to identifying the function of the associated control, the label can be used to create a hot key for the control so that the user can move to the control without using the mouse or pressing the [Tab] key.

When you add a custom control to a form however, an associated label control is not automatically created. To attach a label to a custom control, follow these steps:

•	Insert a new label onto your form or report and set its caption to the appropriate value. You can use the "&" character to create a hot key character.

•	Click on the label control once to select it. Then type Ctrl-X, or select Edit|Cut from the menu to cut the label onto the Windows clipboard.

•	Click once on the custom control you wish to associate with the label to select it.

•	Type Ctrl-V, or select Edit|Paste from the menu to paste the label back onto the form. It is now associated with the custom control.

See Troubleshooting Custom Controls if you are encountering other problems with custom controls.


ControlSource Property

In some circumstances, Microsoft Access clears Total Access Memo's ControlSource property. If you experience this problem, you can set the ControlSource property in your form's load event. For example:

Private Sub Form_Load()
  tamDemo.ControlSource = "RTFField"
End Sub

(Where tamDemo is the name of the control, and "RTFField" is the name of the ControlSource.)

See Troubleshooting Custom Controls if you are encountering other problems with custom controls.


Dirtying a New Record

There is an Access bug that may cause you to lose the first character typed into the Total Access Memo control. This only occurs when you first "dirty" a new field and Access resets the control. While we agree that it is a nuisance, unfortunately it is something that cannot be changed. As a workaround, you can set Me.Dirty = True when you move to a new record.

See Troubleshooting Custom Controls if you are encountering other problems with custom controls.


Using the FMS Rich Text Editor - Using the FMS Rich Text Editor
Using the FMS Rich Text Editor

The FMS Rich Text Editor works like other text editors you may be familiar with, such as Microsoft Word or WordPad. This manual assumes that you are familiar with other text editors, and therefore it doesn't go into great detail about how to use a word processor. Instead, the main functions of the editor are described as they are listed on the menus. Use this chapter as a reference if you have questions about how to use a particular feature of the editor.

To launch the FMS Rich Text Editor from the Total Access Memo control on a form, press [Shift]+[F2] while the cursor is in the control (the control's Enabled and EditorEnabled properties must be set to True):

FMS Rich Text Editor

The FMS Rich Text Editor can also be run as a Standalone Editor from your installation directory.

The following sections describe the editor and each menu item:

•	Editor Components

•	File Menu Options

•	Edit Menu Options

•	Insert Menu Options

•	Format Menu Options

•	Tools Menu Options

•	Standalone Editor


Editor Components

The FMS Rich Text Editor consists of the following main components:

Editing Window

The editing window is where the user types and selects the text for the Total Access Memo control:

Editing Window

Main Toolbar

The main toolbar provides shortcuts for several program operations, such as File Open, File Save, Print, and Spell Check. Spell Checking is only enabled if you have the Microsoft Office Spell Checker installed.

Main Toolbar

Formatting Toolbar

The formatting toolbar provides shortcuts for several font formatting operations, such as font type, font color, paragraph alignment, bullets, and hyperlinks.

Formatting Toolbar

Paragraph Ruler

Use the paragraph ruler to set paragraph indentation and to specify tab stops.

Paragraph Ruler

The Formatting Toolbar and the Paragraph Ruler are visible or hidden depending on the settings in the View Menu:

View Menu

See Using the FMS Rich Text Editor for more information.


File Menu Options

The File menu offers the following options:

File Menu

New - Clears the contents of the current memo. This function is also available from the [image] button on the Main Toolbar.

Open…- Opens and loads an existing file containing Rich Text or standard text formats. This function is also available from the [image] button on the Main Toolbar.

Save - Saves the contents of the current memo to a file. This function is also available from the [image] button on the Main Toolbar.

Save As…- Saves the contents of the current memo to a new file.

Print - Prints the current contents, and allows you to specify the printer and number of copies desired. This function is also available from the [image] button on the Main Toolbar.

Print Preview- Displays each page, as it will look when printed. This function is also available from the [image] button on the Main Toolbar.

Page Setup...- Sets the page options used for printing.

Send...- Sends a document using your default mail program.

Exit - Closes the FMS Rich Text Editor.

See Using the FMS Rich Text Editor for more information.


Edit Menu Options

The Edit menu offers the following options:

Edit Menu

Undo - Undoes the last action you performed, such as deleting a word or typing a letter. Press [Ctrl-Z] as the keyboard shortcut for this option. This function is also available from the [image] button on the Formatting Toolbar.

Redo - Reverses the action of the Undo command. Press [Ctrl-Y] as the keyboard shortcut for this option. This function is also available from the [image] button on the Formatting Toolbar.

Cut - Copies the selected text in the Total Access Memo control to the Windows clipboard, and removes it from the document. Press [Ctrl-X] as the keyboard shortcut for this operation. This function is also available from the [image] button on the Formatting Toolbar.

Copy - Copies the selected text in the Total Access Memo control to the Windows clipboard, but leaves it in the document. Press [Ctrl-C] as the keyboard shortcut for this operation. This function is also available from the [image] button on the Formatting Toolbar.

Paste - Pastes plain text or Rich Text into the current Total Access Memo control at the current cursor location. You may have placed this text onto the clipboard through the FMS Rich Text Editor, or through another application such as Notepad or Microsoft Word. Press [Ctrl-V] as the keyboard shortcut for this operation. This function is also available from the [image] button on the Formatting Toolbar.

Paste Special... - Allows you to select the type of object to paste the contents of the clipboard as.

Clear - Removes the selected text. [Del] is the keyboard shortcut for this operation.

Select All - Selects and highlights all of the text in the editing window. [Ctrl-A] is the keyboard shortcut for this operation.

Find - Displays the Find dialog to search the Total Access Memo control for a particular word or phrase. [Ctrl-F] is the keyboard shortcut for this operation. The following dialog is displayed:

Find Dialog

Enter the text to search for in the "Find What" box. To find only cases where the whole word matches, check the "Match whole word only" box; to find only cases where the upper and lower case match your search string, check the "Match case" box. Press [Find Next] to find the next occurrence of the search string.

Find Next - Repeats the last operation selected with the Find dialog. [F3] is the keyboard shortcut for this operation.

Replace - Displays the Replace dialog to search and replace a particular word or phrase. [Ctrl-H] is the keyboard shortcut for this operation. The following dialog is displayed:

Replace Dialog

Enter the text to find in the "Find What" box. Enter the text to replace in the "Replace With" box. Press [Find Next] to locate the next occurrence of the search word. Press [Replace] to replace the current occurrence of the search word, or press [Replace All] to replace all occurrences of the search word. The "Match whole word only" and "Match case" check boxes work the same as those in the Find dialog.

Links... -  Displays a list of all editable linked objects in the document.

Object Properties - Displays the properties of the currently selected object.

Object... - Invokes and activates the currently selected object for in-place editing.

See Using the FMS Rich Text Editor for more information.


Insert Menu Options

The Insert menu offers the following options:

Insert Menu

Date and Time - Invokes the Date and Time dialog, which allows you to select a date and time format to insert into the current document:

Date and Time Dialog

Select the type of date format you wish to use, and press the [OK] button to insert the value at the current insertion point.

File… - Inserts an existing Rich Text or standard text document. The existing text is not removed, but the contents of the external file are inserted at the cursor location in the Total Access Memo control.

Object… - Inserts an OLE object at the current cursor position:

Insert Object Dialog

The list of objects in the Object Dialog depends on the registered OLE applications installed on your system. Common choices include Bitmap Image and Microsoft Word Document.

You may select the option either to "Create New," which creates a new, empty document of the specified type, or "Create From File" which lets you browse for an existing object to insert into the memo. In this example, a Bitmap is inserted into the memo:

Editing an Embedded Object

The OLE server registered with the object type is launched in the editor window. In this case, the Microsoft Paint application is launched. To return to the FMS Rich Text Editor, simply click outside the bitmap object.

See Using the FMS Rich Text Editor for more information.


Format Menu Options

The Format menu provides menu access for some of the same actions that are available on the Formatting Toolbar and the Editing Ruler:

Format Menu

See Using the FMS Rich Text Editor for more information.

More:

Font Format

Paragraph Formatting

Bullet Style

Tabs

Hyperlink


Font Format

Font… — Invokes the Windows Font Common Dialog to allow setting font options:

Font Dialog

First select the text you wish to format, and then choose the Format|Font… menu option to display the dialog. From this dialog, you can set the font name, size, style (bold, italic, normal), color, and effects.

See Format Menu Options for more information.


Paragraph Formatting

Paragraph… — Invokes the paragraph formatting dialog to apply selected alignment, indenting, and spacing options for the selected paragraphs:

Paragraph Format

See Format Menu Options for more information.

More:

Paragraph Alignment

Paragraph Indentation

First Line Indent

Hanging Indent

Paragraph Spacing

Line Spacing


Paragraph Alignment

Choose Left, Center, Right, or Justify from the Alignment combo box on the dialog, or from the [image], [image], [image], and [image] buttons on the formatting toolbar:

Paragraph Alignment: Left Justified

Paragraph Alignment: Center Justified

Paragraph Alignment: Right Justified

Paragraph Alignment: Fully Justified

See Paragraph Formatting for more information.


Paragraph Indentation

Specify the "Left" and "First Line" indentation amounts in inches. Alternatively, you can set the same indentation options by using the slider controls on the Paragraph Ruler.

Move the upper and lower sliders on the Paragraph ruler in from the left margin. The upper and lower sliders should be at the same position.

Indented Paragraph

See Paragraph Formatting for more information.


First Line Indent

To indent the first line of a paragraph, you should move the upper slider to the right of the lower slider:

First Line Indent

See Paragraph Formatting for more information.


Hanging Indent

To indent all lines in a paragraph except the first you should move the upper slider to the left of the lower slider:

Hanging Indent

See Paragraph Formatting for more information.


Paragraph Spacing

Paragraph spacing determines the amount of space above or below a paragraph. If you want to set a paragraph off from other paragraphs on a page, or change the spacing between multiple paragraphs, you can increase the amount of space before or after the paragraph.

Once you set spacing options for lines or paragraphs, the setting becomes part of the paragraph formatting, and is contained in the paragraph mark. For example, if you're working in a double-spaced paragraph, and you press [Enter] to start a new paragraph, the double-space format is applied to the next paragraph and also to the blank space between the paragraphs.

See Paragraph Formatting for more information.


Line Spacing

Line Spacing determines the amount of vertical space between lines of text. The Rich Text Editor uses single line spacing by default. The line spacing you select affects all lines of text in the selected paragraph or in the paragraph that contains the cursor.

Line Spacing	Results
Single	Accommodates the largest font in that line, plus a small amount of extra space. The amount of extra space varies depending on the font used.
1.5 lines	One-and-one-half times that of single line spacing. For example, if 10-point text is spaced at 1.5 lines, the line spacing is approximately 15 points.
Double	Twice the single line spacing. For example, in double-spaced lines of 10-point text, the line spacing is approximately 20 points.
At least	Minimum line spacing that the FMS Rich Text Editor can adjust to accommodate larger font sizes or graphics that would not otherwise fit within the specified spacing.
Exactly	Fixed line spacing that Word does not adjust. This option spaces all lines evenly.
Multiple	Line spacing that is increased or decreased by a percentage that you specify. For example, setting line spacing to 1.2 increases the space by 20 percent, while setting line spacing to a multiple of 0.8 decreases the space by 20 percent. Setting the line spacing at 2 is equivalent to setting the line spacing at Double. In the At box, enter or select the line spacing you want. The default is three lines.
At	The amount of line spacing you select. This option is available only if you select At Least, Exactly, or Multiple in the Line spacing box.
See Paragraph Formatting for more information.


Bullet Style

Bullet Style — This menu choice acts as a toggle. When the menu option is checked (or the [image] button on the Formatting Toolbar is pressed) the paragraph takes on the bullet style:

Bullet Style

See Format Menu Options for more information.


Tabs

Tabs… — Use the Tab dialog to set tabs for the selected paragraphs:

Tab Dialog

Specify the desired tab location, in inches, in the text box. Press [Set] to add the tab to the list of current tab stops. Press [Clear] to remove the selected tab from the list. To remove all tabs, press the [Clear All] button.

You can also set a new tab stop simply by clicking on the Paragraph Ruler:

Tab Example 1

To change the location of a current tab on the Paragraph ruler, simply drag the [image] picture on the ruler to a new location:

Changing Tab Positions

See Format Menu Options for more information.


Hyperlink

Hyperlink — A hyperlink is a "hot spot" that allows you to jump to another location. The location can include another file on your hard disk or network (such as a Microsoft Word document or a Microsoft Excel spreadsheet) or an internet address (such as http://www.fmsinc.com). The field includes display text, which is often blue and underlined, that the user clicks to jump to the specified location. To set a hyperlink, simply select a block of text and select the Hyperlink menu option.

See Format Menu Options for more information.


Tools Menu Options

The Tools menu contains the spell checker and other Total Access Memo control options:

Tools Menu

Spell Checking

Spelling... - Total Access Memo does not include its own spell checker, but uses the Microsoft Office spell checker if it is available. Spell checking is available if Microsoft Office was installed with Proofing Tools. Since Total Access Memo uses your spell checker, it supports your language and user defined words in the CUSTOM.DIC file that is used by other Microsoft Office components (such as Microsoft Word and Microsoft Access).

If proofing tools are installed, spell checking is enabled in Total Access Memo. To install the Microsoft Office Proofing Tools, run the setup program for Microsoft Office.

When you select the Tools|Spell Checking menu option, the following dialog appears:

Spell Checking Dialog

Spell Options… - Invokes the Spell Options dialog to set options for the spell checker.

Spell Options Dialog

Total Access Memo Options

Options... - Invokes the Options dialog to set options for the Editor. There are two tabs in the dialog. The first tab contains options that apply to the editor:

Options Tab

The second tab contains options that apply to the document:

Rich Text Tab

See Using the FMS Rich Text Editor for more information.


Standalone Editor

The FMS Rich Text Editor can also be used as a standalone program. In this mode, the FMS Rich Text Editor program similar to Microsoft WordPad, or Word:

FMS Rich Text Editor in Standalone Mode

To use the FMS Rich Text Editor as a standalone program, run the FMSREdit.exe program from your installation directory, or choose Start, Run, and type:

FMSREDIT

See Using the FMS Rich Text Editor for more information.


Programmatic Interface - Programmatic Interface
Programmatic Interface

To get the most out of the Total Access Memo control, you may need to add a small amount of programming. For the most part, this consists of setting properties and retrieving values, or telling the custom control to perform a method. Examples are included in the sample database.

	This section assumes that you know how to attach code to events and set properties using standard Access controls, and that you understand fundamental Visual Basic for Application (VBA) programming concepts. Consult your Microsoft Access documentation for more information.
See also

•	Using the TAMEMO_R.MDE for Report Resizing

•	Setting and Reading Properties

•	Setting Properties at Design Time vs. Code

•	Using Methods

•	Responding to Events

•	Property, Method, and Event Reference


Using the TAMEMO_R.MDE for Report Resizing

Total Access Memo includes a function that you can call to resize the Total Access Memo control and move the controls below it automatically.

Preparing Your Database

To use a function in a library database, you need to create an explicit reference from your database to the library. Handle this by putting a module in design mode, and invoking Access's Tools|References menu:

Access Library References Input

Make sure TAMemo_R is selected. If it does not appear in the list, use the [Browse] button to locate TAMEMO_R.MDE in your installation directory.

	Total Access Memo includes two library files: TAMemo_R.mde and TAMemoSigned_R.mde. The file that you select depends on the Access version(s) of your users. TAMemoSigned_R.mde is a digitally signed database library in Access 2002/2003 format. It is designed for databases running under Access 2003 ONLY.   TAMemoSigned_R.mde does not work for Access 2000 or 2002. If you use Access 2003 to create applications for Access 2000 and 2002 users, you need to reference the TAMemo_R.mde library. TAMemo_R.mde is in Access 2000 format and is not digitally signed. The drawback is your Access 2003 users may receive a security warning when running your application (the warning is based on the user's Access security settings—see the Microsoft Access help topic "About Helping Potect Fles from Macro Viruses" for more information). Access 2000 and 2002 users will not see a warning. Determine which file to reference based on the Access version(s) your users run, or create two separate solutions: one for Access 2000/2002 and one for Access 2003.

The reference is an explicit path, which means if you change the drive or location of the library, the reference is broken and the function calls will not compile. You can programmatically add library references with the AddFromFile command. This example adds a reference to the file name in the strFileName variable:

  Dim ref As Reference
  Set ref = References.AddFromFile(strFileName)

See Resizing the Memo Control on Reports for more information.

See also

•	Programmatic Interface


Setting and Reading Properties

You can set properties for custom controls at design time in the Access Property window. The Property window makes no distinction between standard properties (properties that apply to all ActiveX controls) and custom properties.

Similarly, when you set or retrieve properties of custom controls programmatically, there is no difference between standard properties and custom properties. For example, the following code sets properties of the Total Access Memo rich text control named tamDemo. The code sets a standard property (Left) and a custom property (ScrollBars):

Me!tamDemo.Left = 1440
Me!tamDemo.ScrollBars = rtfBoth

	"rtfBoth" is a constant defined by Total Access Memo. Use constants in your code rather than hard-to-remember numeric values. See Constants for a list of the constants defined by Total Access Memo, as well as information on using constants in your code.

When retrieving values, there is also no difference between standard and custom properties. For example, the following code retrieves properties of a control named tamDemo. This code retrieves a standard property (Left) and a custom property (ScrollBars):

intLeft = Me!tamDemo.Left
intScrollBars = Me!tamDemo.ScrollBars

Default Property

The default property for the Total Access Memo control is the Value property. When you refer to the control in code, the default property is implied. For example, the following two lines of code set the Value property of the Total Access Memo control to the RTF code in another Total Access Memo control.

Me!tamMinutes.Value = Me!tamLastWeek.value
Me!tamMinutes = Me!tamLastWeek

In the second line, Value is implied since it is the default property.

See Programmatic Interface  for more information.


Setting Properties at Design Time vs. Code

You can set most properties of the Total Access Memo Control at design time. You can also set these same properties programmatically at run time.

If the properties of the custom control do not need to change while the program is running, it is convenient to assign them in the Property window or use the property sheet to set them. Alternatively, some people prefer seeing the properties listed in their code so they don't have to remember how the properties were set in design mode. This is largely a matter of preference.

However, some properties are better set in code. For example, setting the FileName property causes the Total Access Memo control to load the data contained in the specified file into the control. The problem with setting this property in design time is that you must hard-code the path to the file. If you set this property at run-time, you can dynamically determine where the file is located on a given machine, and specify the path explicitly:

Me!tamDemo.FileName = strInstallDir & "myfile.rtf"

See Property, Method, and Event Reference for a complete list of custom properties available.

See Programmatic Interface  for more information.


Using Methods

Methods are special procedures or actions associated with an object. Total Access Memo's methods let you customize the behavior of the control.

Perform an Action

Similar to custom control properties, custom control methods and standard methods are invoked by specifying the control name, then the name of the method.

For example, the following code uses the standard method, SetFocus, to set the focus to the control named tamDemo. It then invokes the custom method Clear on the control to clear its contents:

Me!tamDemo.SetFocus  ' standard method
Me!tamDemo.Clear     ' custom method

Retrieve a Value

Some methods, such as GetLineFromChar, are designed to return values to your program.

lngLine = Me!tamDemo.GetLineFromChar(81)

This code uses the GetLineFromChar method to tell the control to return the line number of the 81st character in the Total Access Memo control and store the value in a variable named "lngLine."

Use Arguments

A few of the methods in Total Access Memo custom controls, such as the FindReplace method, take arguments, which control how the method works. In the following example, the first named string is replaced by the second, starting at the beginning of the Total Access Memo control.

tamNotes.FindReplace "Nancy", "Annette"

In some cases, a method's arguments may be optional. For example, the FindReplace method includes optional arguments to specify where the search should begin and end.

Standard Methods

Access provides the following standard methods for all ActiveX controls:

Property	Description
Requery	Has no effect on Total Access Memo custom controls
SetFocus	Sets the input focus to the control
SizeToFit	Has no effect on Total Access Memo custom controls

See Property, Method, and Event Reference for a complete list of custom methods available.

See Programmatic Interface  for more information.


Responding to Events

VBA programming is often called event oriented. You do not write a top-down program that controls the flow of the application. Instead, you control the process by manipulating controls on your forms. In response to these user events, you write code to accomplish the necessary task.

These standard events apply to custom controls:

•	OnUpdated

•	OnEnter

•	OnExit

•	OnGotFocus

•	OnLostFocus

In Access, you can attach a macro, a standard procedure, or an "event procedure" to the event property of a control. Only event procedures apply to the custom events in the Total Access Memo controls.

Attach code to specific events on standard Access controls by specifying the [Event Procedure] for the event:

Standard Event Properties

When you press the […] button associated with the event property in a standard control and select "Event Procedure" from the Choose Builder dialog, Access automatically creates an event procedure stub in a VBA module, and attaches it to the event property:

Default Event Code for a Standard Control

Access generates the event when a user presses the button. It is up to you to place code in the event procedure to perform some action:

Sub cmdOK_Click ()
  MsgBox "Exiting application"
  DoCmd.Quit
End Sub

Some events for custom controls can be accessed in the same way as standard controls. The following event property sheet is from an FMS Total Access Memo control:

Custom Control Event Properties

You can use the standard OnGotFocus event to change the caption of the form:

Private Sub tamNotes_GotFocus()
  Me.Caption = "Notes"
End Sub

However, most of the important custom events for Total Access Memo custom controls do not appear in the standard Access event property sheet. For example, the SelChange event, which is triggered when the user moves the cursor in the control or changes the selected text, is very important. To create an event procedure for the SelChange event, open the form's module and select the control from the drop-down list on the module toolbar:

Select the Custom Control

Then select the event from the Event List on the toolbar:

Select the Custom Event

This is the only place that custom events are displayed. Since they do not show up on the event property sheet, you must specifically create them by selecting them in this manner.

If you did not previously create code for this custom event, Access automatically inserts the stub code for you:

Private Sub tamNotes_SelChange()

End Sub

Once Access creates the stub code, you can add your code to execute each time the event occurs:

Private Sub tamNotes_SelChange()
  Me!cmdSave.Enabled = (Len(Me!tamNotes.Text) <> 0)
End Sub

Some events require additional information, which you pass in the form of arguments. See Using Methods for more information on using arguments.

See Programmatic Interface  for more information.


Complete Word Feature in Access

Microsoft Access does not fully implement the Complete Word feature for custom controls. The custom properties and methods of a control are not listed in the drop down. For example, when working with the Total Access Memo control, only standard properties and methods are listed:

Complete Word Feature

The custom properties are there, but they are not listed. As a workaround, however, you can declare an object variable as the type of the control, then set the variable to an instance of the control. For example, the following code enables the Complete Word feature:

Using the Object Syntax

See Programmatic Interface  for more information.


Licensing Issues

There are several license terms you must comply with if you are going to distribute Total Access Memo controls with your applications.

The first and most important license issue is that you may not distribute the Total Access Memo license file (the file with the .LIC extension) in any form.

You are not licensed to redistribute the Total Access Memo custom control in a way that allows your users to place the custom control on their forms in design mode. If you do not distribute the license file, this is handled automatically—your users cannot interact with the controls except within the context of your application.

The second issue is that FMS cannot provide technical support or customer service to your users—that is up to you. We provide technical support to you as the developer, but not to your users.

For complete licensing rules, please read the  License Agreement.


Distributing Total Access Memo - Distributing Total Access Memo
Distributing Total Access Memo

In order to make Access aware of Total Access Memo, the control and editor must be registered on the machine that is running Access. When you install Total Access Memo on your development computer, the Setup program handles this automatically.

When you distribute your Access-based application to other users, however, they do not have the Total Access Memo Setup program. Because of this, your installation process must install the Total Access Memo control and editor.

More:

Using the Runtime Install Program

Using the Package and Deployment Wizard in the Microsoft Office 2000 Developer Toolkit

Using the Packaging Wizard in the Microsoft Office XP Developer Toolkit

Using the Office Spell Checker

Running Multiple Programs from Your Setup Program

Creating a Batch File


Using the Runtime Install Program

To distribute Total Access Memo, use the runtime distribution program, TAMRUN11.EXE, which is located in your installation directory.

This program configures a computer to use Total Access Memo in runtime mode. Simply execute TAMRUN11.EXE on the target computer, and Total Access Memo is automatically installed and configured. You are not required to do anything else. Please note that you should not distribute fmsmemo9.ocx with your program. This file is distributed and registered when you run TAMRUN11.EXE on the target computer.

	When you distribute the Total Access Memo control using TAMRUN11.EXE, the entire Total Access Memo help file is distributed. This is so your end user can obtain online help for using the editor. Note that this help file contains information that does not pertain to users of your applications, since they cannot add the control to their own forms and reports.

See Distributing Total Access Memo for more information.


Using the Package and Deployment Wizard in the Microsoft Office 2000 Developer Toolkit

If you are using the Package and Deployment Wizard in Office 2000 Developer, follow these steps to ensure that Total Access Memo is configured correctly:

•	In the list of included files, uncheck fmsmemo9.ocx. This file is distributed and registered when your setup runs TAMRUN11.EXE.

•	In the list of included files, select "Add" and choose TAMRUN11.EXE (located in Total Access Memo's installation directory).

•	On the Installation Options page, check "Run this command when installation is finished," and type "TAMRUN11.EXE" (without the quotes).

For more information, please refer to the documentation that accompanies Microsoft Office Developer 2000.

See Distributing Total Access Memo for more information.


Using the Packaging Wizard in the Microsoft Office XP Developer Toolkit

If you are using the Packaging Wizard in Office XP Developer, follow these steps to ensure that Total Access Memo is configured correctly:

•	In the list of dependencies, uncheck fmsmemo9.ocx. This file is distributed and registered when your setup runs TAMRUN11.EXE.

•	In the list of included files, select "Add File" and choose TAMRUN11.EXE (located in Total Access Memo's installation directory).

•	On the Run on Complete page, check "Run this command when installation is finished," and use the dropdown to select TAMRUN11.EXE.

For more information, please refer to the documentation that accompanies Microsoft Office XP Developer.

See Distributing Total Access Memo for more information.


Using the Office Spell Checker

Total Access Memo does not have its own spell checker; it uses the Microsoft Office spell checker if it is already installed. If the Microsoft Office spell checker is not installed on your user's machine, spell checking is not enabled in Total Access Memo.

See Distributing Total Access Memo for more information.


Running Multiple Programs from Your Setup Program

If you use the setup tools included with Microsoft Office Developer (the Package and Deployment Wizard in MOD 2000 or the Packaging Wizard in MOD XP), you will find that these tools only allow you to run a single external program as part of your setup. If the only external program you need to run is the Total Access Memo deployment program (TAMRUN11.EXE), this limitation causes no problems.

However, if your setup needs to run external programs in addition to TAMRUN11.EXE, you need to take additional steps.

We suggest using an MSDOS batch file to run multiple external programs. Basically, your setup program calls the batch file that contains multiple commands to run the actual external programs you need. To do this:

1.	Create a batch file that calls each external executable program that your application's setup needs to run.

2.	Test this batch file on your system to ensure it works as desired.

3.	Include the external executable in your setup program.

4.	Include the batch file in your setup program.

5.	Specify the name of the batch file in the MOD Package and Deployment Wizard/MOD Packaging Wizard as the external program to run.

See Distributing Total Access Memo for more information.


Creating a Batch File

This section contains some tips on creating a batch file to launch multiple external files from your setup program. Follow these steps:

1.	Create a new text document with a text editor such as Windows NotePad.

2.	Add a line that calls the TAMRUN11.EXE program. Include the full path to the file.

	Note: To ensure your batch file will run correctly on the widest variety of Windows platforms, be sure to shorten any long file names or long path names to their DOS 8.3 equivalents. For example, if TAMRUN11.EXE is located in: C:\Windows\Temporary Files\TAMRUN11.EXE  Then your batch file should call it as C:\Windows\Tempor~1\TAMRUN11.EXE  To determine the actual DOS 8.3 equivalent of a long file or path name, open an MSDOS window, change your directory to the location of the file, and issue the Dir command. This command will list the DOS 8.3 representation of any long file or path name.
3.	Type in additional lines to call the other external programs you need to run. As with the TAMRUN11.EXE program, consider shortening long file or path names to their DOS 8.3 equivalents.

4.	You may also want to include the following command:

@ECHO OFF

As the first line in your batch file. This tells Windows to run the executable files without displaying any characters in the DOS window.

Additionally, you can include comments in the batch file by preceding them with the REM keyword.

5.	Save this file as filename.BAT, where filename is the name you chose for your batch file. Note that if you do not use the .BAT extension, Windows will not be able to execute it.

A sample batch file would look like this:

  @ECHO OFF
  REM My batch file for distributing Total
  REM Access Memo and other external
  REM programs that my application needs.

  REM Install Total Access Memo
  C:\Windows\Tempor~1\TAMRUN11.EXE

  REM Install SuperWidget 9000
  C:\Windows\Tempor~1\SUPERW.EXE

  REM Install Font Program
  C:\Windows\Tempor~1\FONTFOO.EXE

See Running Multiple Programs from Your Setup Program and Distributing Total Access Memo for more information.


Troubleshooting

This section helps in troubleshooting problems you may encounter with custom controls in Access.

Total Access Memo appears as a white box

On Forms

This problem usually means that Total Access Memo is not registered correctly. See Distributing Total Access Memo for more information.

On Reports

This problem may indicate that the system has no default printer installed. While no printer is required for Access to show the report, Access requires a default printer in order to properly show ActiveX controls.

If the system has a default printer installed, this problem probably indicated that Total Access Memo is not registered correctly. See Distributing Total Access Memo for more information.

There is no object in this control

This problem occurs when opening a form or report. The message "There is no object in this control" indicates that Total Access Memo is not installed and registered correctly.

Determining if Total Access Memo is registered

Without using the control, the only way to determine if Total Access Memo is installed and registered correctly is by looking in the system registry for the following key:

HKEY_CLASSES_ROOT\CLSID\{{E9DB72C0-F477-11D3-A94E-00C04F68F46B}}\InprocServer32.

The value of this key is the path to the Memo control on your computer. If this key does not exist, Total Access Memo is not correctly installed and registered.

To view this key, select the Run command from the Windows Start menu. Type RegEdit and press [Enter]. This opens the Windows registry editor. Using the treeview on the left, you can navigate to the key listed above.

	Do not edit any values in the registry! Doing so may render the computer unusable.


Properties

See Property, Method, and Event Reference for detailed information on each property.

Name	Description
Appearance	Obsolete property; kept only for compatibility with the Microsoft RTF control
AutoVerbMenu	Determines if the control automatically displays a right-click menu
BackColor	The background color of the control
BorderStyle	Obsolete property; kept only for compatibility with the Microsoft RTF control
BulletIndent	Sets the default indentation for bulleted paragraphs
DataChanged	Indicates if the data in the control has changed
DisableNoScroll	Obsolete property; kept only for compatibility with the Microsoft RTF control
Echo	Determines if screen updating is turned on
EditorEnabled	Determines if the editor can be launched from the control
EditorTitle	Sets the title that appears in the editor
Enabled	Determines if the user can manipulate the control
FileName	Specifies the file loaded into the control at design time
FixedRightMargin	Sets the right margin in the editor to the width of the control in the form
Font	Sets the default font used in the control
ForeColor	Sets the default font color used in the control
HeightOfText	Returns the height of the text in the control
HideSelection	Determines if the selection is hidden when the control loses focus
Hyperlinks	Returns or sets a value indicating if hyperlinks are enabled
HWnd	Returns the handle to the control window
Locked	Determines if the control is locked from user input
MaxLength	Sets the maximum length of the text (in characters) that can be entered into the control
MouseIcon	Returns or sets a custom mouse icon
MousePointer	Determines the mouse pointer used in the control
MultiLine	Determines if the control supports more that one line of text
OLEObjects	Exposes a collection of OLEObject objects
RichEditVer	Returns the version of RichEdit
RightMargin	Determines the right margin
ScrollBars	Determines the scroll bar style
SelAlignment	Determines the alignment of the currently selected text
SelBold	Determines if the current selection is bold
SelBullet	Determines if the current selection is bulleted
SelCharOffset	Determines the text offset from the baseline
SelColor	Determines the foreground color of the currently selected text
SelectionBar	Determines if you can select lines at the right of the control
SelFontCharSet	Returns or sets the character set of the current selection
SelFontName	Sets the font name of the current selection
SelFontSize	Sets the font size of the current selection
SelHangingIndent	Sets the size of the hanging indent of the current selection
SelHyperlink	Determines if the text specifies a hyperlink
SelIndent	Sets the indent (first line indent)
SelItalic	Determines if the current selection is Italic
SelLength	Determines the length of the current selection
SelRightIndent	Sets the right margin indent of the current selection
SelStart	Sets the character position of the beginning of the selection
SelStrikeThru	Determines if the current selection has a line drawn through it
SelTabCount	Returns the tab count of the current selection
SelTabs	Returns the SelTabs collection
SelText	Determines the text of the current selection
SelUnderline	Determines if the current selection is underlined
SelValue	Determines the RTF value of the current selection
Text	Determines the text in the entire control
TextDocument	Exposes the TextDocument object from the control
Value	Determines the RTF value of the entire control


Methods

See Property, Method, and Event Reference for detailed information on each method.

Name	Description
AboutBox	Displays an about box
CloseEditor	Closes the editor
Find	Finds text
FindReplace	Finds and replaces text
GetCharFromPos	Returns the character position at the specified coordinate
GetLineFromChar	Returns the line number based on a character position
GetPosFromChar	Returns the coordinate position based on a character position
LoadFile	Loads the contents of a file into the control
OpenEditor	Opens the editor
Refresh	Forces the control to repaint
SaveFile	Saves the contents of the rich text control to a file
SelPrint	Prints the current selection


Events

See Property, Method, and Event Reference for detailed information on each event.

Name	Description
Change	Fires when the contents of the control changes
Click	Fires when the control is clicked
DblClick	Fires when the control is double clicked
EditorClose	Fires when the editor closes
EditorOpen	Fires when the editor opens
KeyDown	Fires when a key is pressed down
KeyPress	Fires when a key is pressed
KeyUp	Fires when a key is released
Link	Fires when a hyperlink is clicked
MouseDown	Fires when the mouse is pressed down
MouseMove	Fires when the mouse is moved
MouseUp	Fires when the mouse is released
SelChange	Fires when the selection changes


Property, Method, and Event Reference

This section alphabetically lists every property, method, and event available in the Total Access Memo custom control.

More:

AboutBox Method

Add Method

Appearance Property

AutoVerbMenu Property

BackColor Property

Bold Property

BorderStyle Property

BulletIndent Property

Change Event

CharSet Property

Class Property

Clear Method

Click Event

CloseEditor Method

Count Property

DataChanged Property

DblClick Event

DisableNoScroll Property

DisplayType Property

DoVerb Method

Echo Property

EditorClose Event

EditorEnabled Property

EditorOpen Event

EditorTitle Property

Enabled Property

FetchVerbs Method

FileName Property

Find Method

FindReplace Method

FixedRightMargin Property

Font Property

ForeColor Property

GetCharFromPos Method

GetLineFromChar Method

GetPosFromChar Method

HeightOfText Property

HideSelection Property

Hyperlinks Property

HWnd Property

Index Property

InsertObject Method

Italic Property

Item Property

KeyDown Event

KeyPress Event

KeyUp Event

Link Event

LoadFile Method

Locked Property

MaxLength Property

MouseDown Event

MouseIcon Property

MouseMove Event

MousePointer Property

MouseUp Event

MultiLine Property

Name Property

ObjectVerbFlags Property

ObjectVerbs Property

ObjectVerbsCount Property

OLEObject Property

OLEObjects Property

OpenEditor Method

Refresh Method

Remove Method

RichEditVer Property

RightMargin Property

SaveFile Method

ScrollBars Property

SelAlignment Property

SelBold Property

SelBullet Property

SelChange Event

SelCharOffset Property

SelColor Property

SelectionBar Property

SelFontCharSet Property

SelFontName Property

SelFontSize Property

SelHangingIndent Property

SelHyperlink Property

SelIndent Property

SelItalic Property

SelLength Property

SelPrint Method

SelRightIndent Property

SelStart Property

SelStrikeThru Property

SelTabCount Property

SelTabs Property

SelText Property

SelUnderline Property

SelValue Property

Size Property

StrikeThrough Property

Text Property

TextDocument Property

Underline Property

Value Property

Weight Property


AboutBox Method

Applies To	Total Access Memo
Description	Shows the about box for FMS Total Access Memo
Syntax	fmsmemo.AboutBox


Add Method

Applies To	OLEObjects
Description	Adds an object to the control
Syntax	fmsmemo.Add([Index], [source], [objclass])
	Parameters	Description
	Index	This sets the index of the object you are adding. This is optional.
	Key	This parameter is not used in Total Access Memo; it is provided for compatibility with the Microsoft RichText Control only. This is optional.
	source	This sets the filename of a document to insert into the control. This is optional.
	objclass	This sets the class name of the object to insert. This is optional.
Remarks	You must specify either a valid source or objclass parameter when calling this method. The Add method fails if one of these parameters is not set.


Appearance Property

Applies To	Total Access Memo
Description	Returns or sets the three dimensional effect of the control
Setting	Setting	Description
	rtfFlat	The control displays with a flat appearance.
	rtfThreeD	The control displays with a three dimensional appearance.
Remarks	The Appearance property is included for compatibility with the Microsoft RTF control. To change the Appearance of the Memo control, you should use the built-in Microsoft Access properties.


AutoVerbMenu Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if the verb menu is displayed
Setting	Setting	Description	VBA
	Yes	The verb menu is enabled.	True
	No	The verb menu is disabled.	False
Remarks	If this property is set to True, the verb menu is displayed when the user right clicks on the control.


BackColor Property

Applies To	Total Access Memo
Description	Returns or sets the color for the interior of a control
Setting	Accepts and returns long values


Bold Property

Applies To	Font
Description	Returns or sets the bold style of the font
Setting	Description	VBA
	The selection is bold.	True
	The selection is not bold.	False


BorderStyle Property

Applies To	Total Access Memo
Description	Returns or sets the type of border for the control
Setting	Setting	Description
	rtfNoBorder	No border is displayed.
	rtfFixedSingle	A single line is displayed for the border.
Remarks	The BorderStyle property is included for compatibility with the Microsoft RTF control. To change the BorderStyle of the Memo control, you should use the built-in Microsoft Access properties.


BulletIndent Property

Applies To	Total Access Memo
Description	Returns or sets the default indentation for bullet points, in twips
Setting	Accepts and returns integers


Change Event

Applies To	Total Access Memo
Description	Occurs when the user changes the value of the control
Syntax	Sub fmsmemo_Change ()
Remarks	This event does not fire if the Value property is changed through code.


CharSet Property

Applies To	Font
Description	Returns or sets the character set of the font
Setting	Description	VBA
	Standard Windows characters	0
	The symbol character set, including Wingdings and other symbol fonts	2
	A character set unique to the Japanese version of Windows	128
	Extended characters normally displayed by DOS applications	255
Remarks	This property is not available in Access's property pages.


Class Property

Applies To	OLEObject
Description	Returns the class name of the object
Setting	Returns string values


Clear Method

Applies To	OLEObjects
Description	Removes all objects from the OLEObjects collection
Syntax	fmsmemo.OLEObjects.Clear


Click Event

Applies To	Total Access Memo
Description	Occurs when the user clicks in the control
Syntax	Sub fmsmemo_Click()


CloseEditor Method

Applies To	Total Access Memo
Description	Closes the editor
Syntax	fmsmemo.CloseEditor(fKeepChanges)
	Parameter	Description
	fKeepChanges	True saves changes made in the editor into the control.
Remarks	The EditorClose event is not fired when this method is used to close the editor.


Count Property

Applies To	OLEObjects
Description	Returns the count of the OLEObject objects in this collection
Setting	Returns integer values


DataChanged Property

Applies To	Total Access Memo
Description	Returns a value indicating if the data in the control has changed
Setting	Setting	Description	VBA
	Yes	The data in the control has changed.	True
	No	The data in the control has not changed.	False
Remarks	The DataChanged property is kept for backwards compatibility only, and therefore does not return a reliable value.


DblClick Event

Applies To	Total Access Memo
Description	Occurs when the user double clicks in the control
Syntax	Sub fmsmemo_DblClick()


DisableNoScroll Property

Applies To	Total Access Memo
Description	This property is obsolete, and is only kept for compatibility with the Microsoft RTF control. Setting this property has no effect on the Total Access Memo control.


DisplayType Property

Applies To	OLEObject
Description	Returns or sets the display style of the object
Setting	Description	VBA
	The object displays its contents.	rtfDisplayContent
	The object displays an iconic representation of itself.	rtfDisplayIcon


DoVerb Method

Applies To	OLEObject
Description	Invokes the specified verb on the object
Syntax	fmsmemo.OLEObjects(Index.)DoVerb(Verb)
	Parameter	Description
	Verb	This parameter sets the verb to invoke and can have one of these values:
	Description	VBA
	Sets the verb to the default	RtfOLEPrimary
	Opens the object	RtfOLEShow
	Opens the object in a separate window	RtfOLEOpen
	Hides the application that created the object	RtfOLEHide
	Activates the object	RtfOLEUIActivate
	In Place activates the object	RtfOLEInPlaceActivate
	Causes the object to disregard undo information.	RtfOLEDiscardUndoState


Echo Property

Applies To	Total Access Memo
Description	Determines if screen updating is turned on
Setting	Setting	Description	VBA
	Yes	The control updates the screen.	True
	No	The control does not update the screen.	False


EditorClose Event

Applies To	Total Access Memo
Description	Fires when the editor closes
Syntax	Sub fmsmemo_EditorClose(fKeepChanges As Boolean)
	Argument	Description
	fKeepChanges	This indicates if the changes in the editor are saved to the control.
Remarks	The fKeepChanges parameter may be modified in the event handler. This event is not supported in reports.


EditorEnabled Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if the editor is enabled
Setting	Setting	Description	VBA
	Yes	The editor is enabled.	True
	No	The editor is disabled.	False
Remarks	Setting this property to False prevents the user from opening the editor. This property is not supported in reports.


EditorOpen Event

Applies To	Total Access Memo
Description	Fires when the editor opens
Syntax	Sub fmsmemo_EditorOpen()
Remarks	This event is not supported in reports.


EditorTitle Property

Applies To	Total Access Memo
Description	Returns or sets the text displayed in the caption bar of the editor
Setting	Accepts and returns strings
Remarks	This property is not supported in reports.


Enabled Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if the control is enabled
Setting	Setting	Description	VBA
	Yes	The control is enabled.	True
	No	The control is disabled.	False
Remarks	You must close and re-open the form before this property takes effect. This property conflicts with a built in Access property, so when setting it in code, you must use the syntax fmsmemo.Object.Enabled. Please note that setting this property to false in Access's property pages is not supported due to Access's behavior with ActiveX controls. To set this property, use Total Access Memo's custom property pages or set it in code using the syntax above.


FetchVerbs Method

Applies To	OLEObject
Description	Updates the list of verbs the object supports
Syntax	fmsmemo.OLEObjects(Index.)FetchVerbs
Remarks	You must call this method before referring to the following properties: ObjectVerbFlags, OjbectVerbs, ObjectVerbsCount.


FileName Property

Applies To	Total Access Memo
Description	Returns or sets the filename of the file loaded into the control
Setting	Accepts and returns strings
Remarks	Setting this property loads the text from the file into the control. Setting this property has the same effect as calling the LoadFile method.


Find Method

Applies To	Total Access Memo
Description	Finds text in the control
Syntax	long = fmsmemo.Find (bstrString, [vStart], [vEnd], [vOptions])
	Parameter	Description
	bstrString	The string expression to find.
	vStart	The starting position to begin the search. This is optional.
	vEnd	The ending position to stop the search. This is optional.
	vOptions	The options to use in the search. Setting this is optional.
	Description	VBA
	Find whole words.	rtfWholeWord
	Match the case of bstrString.	rtfMatchCase
	Do not highlight a word when it is found.	rtfNoHighlight
Remarks	This method returns the first character position of the text, or -1 if the text is not found.


FindReplace Method

Applies To	Total Access Memo
Description	Finds and replaces text in the control
Syntax	fmsmemo.FindReplace (bstrFind, bstrReplace, [vStart], [vEnd], [vOptions])
	Parameters	Description
	bstrFind	The string expression to find.
	bstrReplace	The string expression used as the replacement text.
	vStart	The starting position to begin the search. This is optional.
	vEnd	The ending position to stop the search. This is optional.
	vOptions	The options to use in the search. Setting this is optional.
	Description	VBA
	Find whole words.	rtfWholeWord
	Match the case of bstrString.	rtfMatchCase


FixedRightMargin Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if the right margin in the editor is fixed to the width of the control
Setting	Description	VBA
	The right margin of the editor is fixed to the width of the control.	True
	The right margin of the editor is fixed to the width of the editor.	False


Font Property

Applies To	Total Access Memo
Description	Determines the default font used in the control
Setting	Returns or sets an object
Properties	Name	Description
	Bold	Determines if the font is bold
	Charset	Determines the character set of the font
	Italic	Determines if the font is italicized
	Name	Determines the name of the font
	Size	Determines the size of the font
	StrikeThrough	Determines if the font has a line drawn through it
	Underline	Determines if the font is underlined
	Weight	Determines the weight of the font
Remarks	This property is an object containing properties of its own. Refer to the properties of the font by using the VBA settings listed (e.g. Font.Bold).


ForeColor Property

Applies To	Total Access Memo
Description	Returns or sets the color for the Foreground of a control
Setting	Contains a long value that corresponds to the foreground color.


GetCharFromPos Method

Applies To	Total Access Memo
Description	Returns the character position at the specified coordinate
Syntax	long = fmsmemo.GetCharFromPos(x, y)
	Parameter	Description
	x	This determines the x coordinate, in twips.
	y	This determines the y coordinate, in twips.


GetLineFromChar Method

Applies To	Total Access Memo
Description	Returns the line number containing the specified character position
Syntax	long = fmsmemo.GetLineFromChar(lChar)
	Parameter	Description
	lChar	The character position from where to retrieve the line number.
Remarks	This method returns the actual line number in the control. The number of lines can change when the dimensions of the editing window change.


GetPosFromChar Method

Applies To	Total Access Memo
Description	Returns the coordinate position based on a character position
Syntax	fmsmemo.GetPosFromChar lChar, x, y
	Parameter	Description
	lChar	Sets the character position from where to retrieve the line number.
	x	The x coordinate, in twips, is returned in this parameter.
	y	The y coordinate, in twips, is returned in this parameter.


HeightOfText Property

Applies To	Total Access Memo
Description	Returns the height of the text in the control
Setting	Returns long values


HideSelection Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if text is highlighted when the control loses focus
Setting	Setting	Description	VBA
	Yes	The selected text is not highlighted when the control loses focus.	True
	No	Highlighting stays on the text when the control loses focus.	False


Hyperlinks Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if hyperlinks are enabled
Setting	Returns a Boolean value
Remarks	In the Total Access Memo control, the link event fires when a Hyperlink is clicked. When you click a hyperlink from the editor, the link event does not fire, but rather the hyperlink is automatically opened. Please note that all hyperlinks must be prefaced with one of the following in order to be valid: http://; https://; ftp://; or file:. Also, in order to be valid, a hyperlink cannot contain any spaces. If you set the Hyperlinks property to False, Hyperlinks will not fire the link event in the Total Access Memo control. Hyperlinks will, however, still function in the FMS Rich Editor.


HWnd Property

Applies To	Total Access Memo
Description	Returns a handle to the control window
Setting	Returns long values


Index Property

Applies To	OLEObjects
Description	Returns the index of the object
Setting	Returns integer values


InsertObject Method

Applies To	OLEObjects
Description	Invokes the Insert Object dialog, and inserts an object if the user chooses one
Syntax	fmsmemo.OLEObjects.InsertObject


Italic Property

Applies To	Font
Description	Returns or sets the italic style of the font
Setting	Description	VBA
	The selection is italicized.	True
	The selection is not italicized.	False


Item Property

Applies To	OLEObjects
Description	Returns an OLEObject object from the collection by index
Setting	Returns an OLEObject
Remarks	This is a parameterized property, starting with a zero-based index.


KeyDown Event

Applies To	Total Access Memo
Description	Occurs when a key is depressed
Syntax	Sub fmsmemo_KeyDown(KeyCode As Integer, ByVal Shift As Integer)
	Argument	Description
	KeyCode	This is the code of the depressed key.
	Shift	This is the shift state of the keyboard.
Remarks	For more information about using this event in your application, please see the Microsoft Access Help.


KeyPress Event

Applies To	Total Access Memo
Description	Fires when a key is pressed
Syntax	Sub fmsmemo_KeyPress(KeyAscii As Integer)
	Argument	Description
	KeyAscii	This specifies the ASCII character code of the key that was pressed.
Remarks	For more information about using this event in your application, please see the Microsoft Access Help.


KeyUp Event

Applies To	Total Access Memo
Description	Fires when a key is released
Syntax	Sub fmsmemo_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
	Argument	Description
	KeyCode	This is the code of the released key.
	Shift	This is the shift state of the keyboard.
Remarks	For more information about using this event in your application, please see the Microsoft Access Help.


Link Event

Applies To	Total Access Memo
Description	Occurs when a hyperlink is clicked
Syntax	Sub fmsmemo_Link(strURL As String)
	Argument	Description
	strURL	This specifies the text of the hyperlink.
Remarks	This event is used to customize what happens when a hyperlink is clicked. See the sample database for an example of this event.


LoadFile Method

Applies To	Total Access Memo
Description	Loads the specified file into the control
Syntax	fmsmemo.LoadFile(bstrFileName, [vFileType])
	Part	Description
	bstrFileName	This specifies the name of the file to load into the control.
	vFileType	This specifies the type of the file to load. This parameter is optional.
	Description	VBA
	The file is loaded as RTF.	rtfRTF
	The file is loaded as text.	rtfText
Remarks	If the vFileType parameter is not specified, the control attempts to detect the file type.


Locked Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if the user can modify the contents of the control
Setting	This property has the following settings:
	Setting	Description	VBA
	Yes	The user cannot change the contents of the control.	True
	No	The user can change the contents of the control.	False
Remarks	This property is similar to the Enabled property, but differs in a few ways. When the Enabled property is false, the control is locked from all user input. The Locked property only prevents the user from changing the contents of the control. The user may still use the scroll bars and select text. The user may also open the editor and change formatting options. This property conflicts with a built in Access property, so when setting it in code, you must use the syntax fmsmemo.Object.Locked.


MaxLength Property

Applies To	Total Access Memo
Description	Returns or sets the maximum allowed length of text in the control
Setting	Accepts and returns long values
Remarks	Setting this property to zero indicates unlimited length.  The MaxLength property will not limit the length of text that is loaded programmatically. If you are loading text programmatically, you should write validation code to check the length of the string.


MouseDown Event

Applies To	Total Access Memo
Description	Occurs when a mouse button is pressed
Syntax	Sub fmsmemo_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
	Argument	Description
	Button	This specifies the mouse button that was pressed.
	Shift	This is the shift state of the keyboard.
	x	This is the x position of the mouse.
	y	This is the y position of the mouse.
Remarks	For more information about using this event in your application, please see the Microsoft Access Help.


MouseIcon Property

Applies To	Total Access Memo
Description	Returns or sets a custom mouse icon
Setting	Accepts and returns a picture
Remarks	The MouseIcon property provides a custom icon that is used when the MousePointer property is set to rtfMouseCustom. This control does not load animated cursor (.ani) files, even though Windows support these cursors. The only supported file types are icons (*.ico) and cursors (*.cur). This property can only be set at design time. Please note that this property is not available in Access's property pages.


MouseMove Event

Applies To	Total Access Memo
Description	Occurs when the mouse moves over the control
Syntax	Sub fmsmemo_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
	Argument	Description
	Button	This specifies the state of the mouse buttons.
	Shift	This is the shift state of the keyboard.
	x	This is the x position of the mouse.
	y	This is the y position of the mouse.
Remarks	For more information about using this event in your application, please see the Microsoft Access Help.


MousePointer Property

Applies To	Total Access Memo
Description	Returns or sets the mouse pointer displayed by the control
Setting	Setting	Description	VBA
	rtfDefault	The default arrow is used.	rtfDefault
	rtfArrow	The standard arrow is used.	rtfArrow
	rtfCross	Crosshair is used.	rtfCross
	rtfMouseCustom	A custom pointer is used.	rtfMouseCustom
	rtfIBeam	Text I-beam is used.	rtfIBeam
	rtfIcon	This setting is obsolete, and is kept for backwards compatibility only. Setting your MousePointer to rtfIcon displays the standard arrow.	rtfIcon
	rtfSize	Size (four-pointed arrow pointing north, south, east, and west) is used.	rtfSize
	rtfSizeNESW	A double-pointed arrow pointing northeast and southwest is used.	rtfSizeNESW
	rtfSizeNS	A double-pointed arrow pointing north and south is used.	rtfSizeNS
	rtfSizeNWSE	A double-pointed arrow pointing northwest and southeast is used.	rtfSizeNWSE
	rtfSizeEW	A double-pointed arrow pointing west and east is used.	rtfSizeEW
	rtfUpArrow	A vertical arrow is used.	rtfUpArrow
	rtfHourglass	The hourglass is used.	rtfHourglass
	rtfNoDrop	A slashed circle is used.	rtfNoDrop
	rtfArrowHourglass	The standard arrow with a small hourglass is used.	rtfArrowHourglass
	rtfArrowQuestion	The standard Arrow with a Question Mark is used.	rtfArrowQuestion
	rtfSizeAll	Size (four-pointed arrow pointing north, south, east, and west) is used.	rtfSizeAll


MouseUp Event

Applies To	Total Access Memo
Description	Occurs when a mouse button is released
Syntax	Sub fmsmemo_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
	Argument	Description
	Button	This specifies the mouse button being released.
	Shift	This specifies the shift state of the keyboard.
	x	This is the x position of the mouse.
	y	This is the y position of the mouse.
Remarks	For more information about using this event in your application, please see the Microsoft Access Help.


MultiLine Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if the control supports more than one line of text
Setting	Setting	Description	VBA
	Yes	The control supports multiple lines of text.	True
	No	The control only supports one line of text.	False
Remarks	This property can only be set at design time. Setting this property to false will truncate any data that does not fit on the first line.


Name Property

Applies To	Font
Description	Returns or sets the font name of the font
Setting	Accepts and returns string values


ObjectVerbFlags Property

Applies To	OLEObject
Description	Returns the menu flags of the object
Setting	Description	VBA
	The menu item is checked.	rtfOLEFlagChecked
	The menu item is disabled.	rtfOLEFlagDisabled
	The menu item is enabled.	rtfOLEFlagEnabled
	The menu item is grayed.	rtfOLEFlagGrayed
	The menu item is a separator.	rtfOLEFlagSeparator
Remarks	You must call FetchVerbs before referring to this property.


ObjectVerbs Property

Applies To	OLEObject
Description	Returns the verbs of the object
Setting	Description	VBA
	Sets the verb to the default.	rtfOLEPrimary
	Opens the object.	rtfOLEShow
	Opens the object in a separate window.	rtfOLEOpen
	Hides the application that created the object.	rtfOLEHide
	Activates the object.	rtfOLEUIActivate
	In Place activates the object.	rtfOLEInPlaceActivate
	Causes the object to disregard undo information.	rtfOLEDiscardUndoState
Remarks	You must call FetchVerbs before referring to this property.


ObjectVerbsCount Property

Applies To	OLEObject
Description	Returns the number of verbs for the object
Setting	Returns integer values
Remarks	You must call FetchVerbs before referring to this property.


OLEObject Property

Applies To	OLEObjects
Description	Returns an individual OLE Object
Setting	Returns an object
Properties	Name	Description
	Class	This returns the class of the object.
	DisplayType	This returns the display type of the object.
	Index	This returns the index of the object.
	ObjectVerbFlags	This returns the verb flags of the object.
	ObjectVerbs	This returns the verbs of the object.
	ObjectVerbsCount	This returns the verb count of the object.
Methods	Name	Description
	DoVerb	This invokes a verb of the object.
	FetchVerbs	This retrieves the verbs of the object.
Remarks	This property is an object containing properties and methods of its own. Refer to the properties of the object by using the VBA settings listed (e.g. OLEObject.Class).


OLEObjects Property

Applies To	Total Access Memo
Description	Returns a collection of OLEObject objects
Setting	Returns a collection
Remarks	Each OLE object in the control is represented in the OLEObjects collection. You can add objects to the control by calling the Add or Insert method, or by dragging an object into the control.  This property is an object containing properties and methods of its own. Refer to the properties of the object using the VBA settings listed (e.g. OLEObjects.InsertObject.) To refer to a specific OLEObject, use a zero-based index as a parameter to this property. For example, to retrieve the class name of the first object in the collection, use the following syntax: String = tamDemo.OLEObjects(0.)Class
Properties	Name	Description
	Count	The count of the OLE objects in the collection
	Item	A specific item in the collection
Methods	Name	Description
	Add	Adds an object to the collection
	Clear	Clears all objects from the collection
	InsertObject	Invokes the insert object dialog
	Remove	Removes an object from the collection


OpenEditor Method

Applies To	Total Access Memo
Description	Opens the editor
Syntax	fmsmemo.OpenEditor
Remarks	This method opens the editor even if the EditorEnabled property is set to False. The EditorOpen event is not fired if method is used to open the editor.


Refresh Method

Applies To	Total Access Memo
Description	Forces the control to refresh itself
Syntax	fmsmemo.Refresh
Remarks	This method is useful if you need to force the control to repaint.


Remove Method

Applies To	OLEObjects
Description	Removes a specified object form the control
Syntax	fmsmemo.OLEObjects.Remove(Item)
	Parameter	Description
	Item	This specifies the index of the object to remove.


RichEditVer Property

Applies To	Total Access Memo
Description	Returns the version of RichEdit
Setting	Returns long values
Remarks	This property returns either 2 or 3. For more information on RichEdit, please see the Microsoft documentation.


RightMargin Property

Applies To	Total Access Memo
Description	Returns or sets the right margin of text
Setting	Accepts and returns long values
Remarks	Setting this to zero is the same as setting the right margin to the width of the control.


SaveFile Method

Applies To	Total Access Memo
Description	Saves the text in the control to a file
Syntax	fmsmemo.SaveFile(bstrFileName, [vFileType])
	Part	Description
	bstrFileName	This is the name of the file to load into the control.
	vFileType	This is the type of the file to load. This parameter is optional; if it is not specified, the control attempts to detect the file type.
	Description	VBA
	The file is saved as RTF.	rtfRTF
	The file is saved as text.	rtfText


ScrollBars Property

Applies To	Total Access Memo
Description	Returns or sets the style of the scroll bars
Setting	Setting	Description	VBA
	rtfNone	No scrollbars are displayed.	rtfNone
	rtfHorizontal	A horizontal scrollbar is displayed.	rtfHorizontal
	rtfVertical	A vertical scrollbar is displayed.	rtfVertical
	rtfBoth	Both scroll bars are displayed.	rtfBoth
Remarks	This property can only be set at design time.


SelAlignment Property

Applies To	Total Access Memo
Description	Returns or sets the paragraph alignment of the current selection
Setting	Description	VBA
	The current selection spans more than one paragraph with different alignments.	Null
	The paragraph is left aligned.	rtfLeft
	The paragraph is right aligned.	rtfRight
	The paragraph is center aligned.	rtfCenter
	The paragraph is fully justified	rtfJustify


SelBold Property

Applies To	Total Access Memo
Description	Returns or sets the bold style of the current selection
Setting	Description	VBA
	The selection spans multiple characters with a mix of the font style.	Null
	The selection is bold.	True
	The selection is not bold.	False


SelBullet Property

Applies To	Total Access Memo
Description	Returns or sets the bullet style of the current selection
Setting	Description	VBA
	The selection spans multiple characters with a mix of the font style.	Null
	The selection is bulleted.	True
	The selection is not bulleted.	False


SelChange Event

Applies To	Total Access Memo
Description	Occurs when the selection changes
Syntax	Sub fmsmemo_SelChange()


SelCharOffset Property

Applies To	Total Access Memo
Description	Returns or sets the offset, from the baseline, of the currently selected text
Setting	Accepts and returns long values
Remarks	The offset is the location of the bottom of the text. The baseline is the standard location of the bottom of the text. If this property returns null, it indicates that the selection spans multiple characters that have a mix of offsets.


SelColor Property

Applies To	Total Access Memo
Description	Returns or sets the foreground color of the current selection
Setting	Accepts and returns long values
Remarks	If this property returns null, it indicates that the selection spans multiple characters that have a mix of colors.


SelectionBar Property

Applies To	Total Access Memo
Description	Returns or sets a value indicating if a selection bar is displayed in the control
Setting	Setting	Description	VBA
	Yes	A selection bar is displayed.	True
	No	No selection bar is displayed.	False


SelFontCharSet Property

Applies To	Font
Description	Returns or sets the character set of the current selection's font
Setting	Description	VBA
	Standard Windows characters	0
	The symbol character set, including Wingdings and other symbol fonts	2
	A character set unique to the Japanese version of Windows	128
	Extended characters normally displayed by DOS applications.	255


SelFontName Property

Applies To	Total Access Memo
Description	Returns or sets the font name of the current selection
Setting	Accepts and returns string values
Remarks	If this property returns null, it indicates that the selection spans multiple characters that have a mix of fonts. Please note that if you are using Wingdings, or another symbol character set, you must also set SelFontCharSet to 2.


SelFontSize Property

Applies To	Total Access Memo
Description	Returns or sets the font size of the current selection
Setting	Accepts and returns integer values
Remarks	If this property returns null, it indicates that the selection spans multiple characters that have a mix of sizes.


SelHangingIndent Property

Applies To	Total Access Memo
Description	Returns or sets the hanging indent of the current selection
Setting	Accepts and returns long values
Remarks	This property specifies the distance, in twips, between the left edge of the first line of text in the selected paragraph(s) (as specified by the SelIndent property) and the left edge of subsequent lines of text in the same paragraph(s).  If this property returns null, it indicates that the selection spans multiple paragraphs that have a mix of margin settings.


SelHyperlink Property

Applies To	Total Access Memo
Description	Returns or sets the hyperlink style of the current selection
Setting	Description	VBA
	The selection spans multiple characters with a mix of the style.	Null
	The selection is a hyperlink.	True
	The selection is not a hyperlink.	False


SelIndent Property

Applies To	Total Access Memo
Description	Returns or sets the indent of the current selection
Setting	Accepts and returns long values
Remarks	This property specifies the distance, in twips, between the left edge of the control and the left edge of the selected text. If this property returns null, it indicates that the selection spans multiple paragraphs that have a mix of margin settings.


SelItalic Property

Applies To	Total Access Memo
Description	Returns or sets the italic style of the current selection
Setting	Description	VBA
	The selection spans multiple characters with a mix of font style.	Null
	The selection is italicized.	True
	The selection is not italicized.	False


SelLength Property

Applies To	Total Access Memo
Description	Returns or sets the length of the current selection
Setting	Accepts and returns long values


SelPrint Method

Applies To	Total Access Memo
Description	Prints the current text selection
Syntax	fmsmemo.SelPrint(hdc)
	Part	Description
	hdc	This is a handle to a device context to print into.
Remarks	If SelLength is zero, all text in the control is printed.


SelRightIndent Property

Applies To	Total Access Memo
Description	Returns or sets the right indent of the current selection
Setting	Accepts and returns long values
Remarks	If this property is set to zero, the paragraph wraps to the right margin, otherwise, this property specifies the distance, in twips, between the right edge of the control and the right edge of the selected text. If this property returns null, it indicates that the selection spans multiple paragraphs that have a mix of margin settings.


SelStart Property

Applies To	Total Access Memo
Description	Returns or sets the starting character position of the current selection
Setting	Accepts and returns integer values


SelStrikeThru Property

Applies To	Total Access Memo
Description	Returns or sets the StrikeThru style of the current selection
Setting	Description	VBA
	The selection spans multiple characters with a mix of the font style.	Null
	The selection has the StrikeThru style.	True
	The selection does not have the StrikeThru style.	False


SelTabCount Property

Applies To	Total Access Memo
Description	Returns or sets the number of tab stops set in the current selection
Setting	Accepts and returns integer values
Remarks	This property returns the tab stops set in the selection, not the number of tabs in the selection.


SelTabs Property

Applies To	Total Access Memo
Description	Returns or sets the tab position of the specified tab
Setting	Accepts and returns long values
Remarks	This is a parameterized property, starting with a zero-based index. The tab positions are specified in twips.


SelText Property

Applies To	Total Access Memo
Description	Returns or sets the text of the current selection
Setting	Accepts and returns string values
Remarks	Setting this property replaces the current selection with the specified text. If no text is selected, the specified text is inserted in the current position.


SelUnderline Property

Applies To	Total Access Memo
Description	Returns or sets the underline style of the current selection
Setting	Description	VBA
	The selection spans multiple characters with a mix of the font style.	Null
	The selection is underlined.	True
	The selection is not underlined.	False


SelValue Property

Applies To	Total Access Memo
Description	Returns or sets the text, in RTF format, for the current selection
Setting	Accepts and returns strings


Size Property

Applies To	Font
Description	Returns or sets the font size of the font
Setting	Accepts and returns integer values (numbers less than 1638)


StrikeThrough Property

Applies To	Font
Description	Returns or sets the StrikeThrough style of the font
Setting	Description	VBA
	The font has the StrikeThrough style.	True
	The font does not have the StrikeThrough style.	False


Text Property

Applies To	Total Access Memo
Description	Returns or sets the text value of the control
Setting	Accepts and returns strings
Remarks	Setting this property destroys all formatting in the Total Access Memo control. The SelStart and SelText properties can be used to insert text into the control while preserving formatting.


TextDocument Property

Applies To	Total Access Memo
Description	Returns the text document object from the control (see http://msdn.microsoft.com/library/psdk/winui/tom_7wvg.htm for documentation)
Setting	Returns an object
Remarks	This property returns the TextDocument object, which is an object supplied by Microsoft. By using this object, you can add additional RTF functionality programmatically. For more information on using this object model, see the hyperlink above, or the sample database included with Total Access Memo. NOTE: this property exposes the entire Microsoft Rich Text Object Model.  FMS does not provide technical support for using the TextDocument property.


Underline Property

Applies To	Font
Description	Returns or sets the underline style of the font
Setting	Description	VBA
	The selection spans multiple characters with a mix of the font style.	Null
	The selection is underlined.	True
	The selection is not underlined.	False


Value Property

Applies To	Total Access Memo
Description	Returns or sets the text, in RTF format, of the control
Setting	Accepts and returns strings
Remarks	This is the default and databound property of this control.


Weight Property

Applies To	Font
Description	Returns or set the weight of the font
Setting	Returns integer values
Remarks	The weight of a font determines the thickness of the characters. Weight values usually range from 0 to 1000, with 700 representing bold. Please note that this property is not available in Access's property pages.


Constants

The Total Access Memo sample, help file, and documentation refer to specific values for properties and methods. These values are represented by a set of VBA constants. These constants are available in VBA when a reference is set to the Total Access Memo library. This occurs automatically when you insert a Total Access Memo control into your database.

If your programming style includes the use of constants, you can use the Total Access Memo constants instead of hard-coded numbers.

All constants and their values are listed below:

Constant	Value		Constant	Value
rtfArrow	1		rtfNoBorder	0
rtfArrowHourglass	13		rtfNoClientSite	32020
rtfArrowQuestion	14		rtfNoDrop	12
rtfAutomationError	32025		rtfNoHighlight	8
rtfBoth	3		rtfNone	0
rtfCantCreateStg	32017		rtfOLEDiscardUndoState	-6
rtfCantDisplayIcon	32023		rtfOLEFlagChecked	8
rtfCantInsertObject	32024		rtfOLEFlagDisabled	2
rtfCenter	2		rtfOLEFlagEnabled	0
rtfCFBitmap	2		rtfOLEFlagGrayed	1
rtfCFDIB	8		rtfOLEFlagSeparator	2048
rtfCFEMetafile	14		rtfOLEHide	-3
rtfCFFiles	15		rtfOLEInPlaceActivate	-5
rtfCFMetafile	3		rtfOLEOpen	-2
rtfCFPalette	9		rtfOLEPrimary	0
rtfCFRTF	-16639		rtfOLEShow	-1
rtfCFText	1		rtfOLEUIActivate	-4
rtfCross	2		rtfPathFileAccessError	75
rtfDefault	0		rtfRight	1
rtfDisplayContent	0		rtfRTF	0
rtfDisplayIcon	1		rtfSize	5
rtfFixedSingle	1		rtfSizeAll	15
rtfFlat	0		rtfSizeEW	9
rtfHorizontal	1		rtfSizeNESW	6
rtfHourglass	11		rtfSizeNS	7
rtfIBeam	3		rtfSizeNWSE	8
rtfIcon	4		rtfText	1
rtfInvalidPropertyValue	380		rtfThreeD	1
RtfJustify	3		rtfUp	16
rtfLeft	0		rtfUpArrow	10
rtfMatchCase	4		rtfVertical	2
rtfMouseCustom	99		rtfWholeWord	2


Support Resources

There are many resources available to resolve issues you may encounter. Please check the following:

Readme File

Check the README file for the latest product information. The README file is located in the directory where you installed the product.

Product Documentation

We've spent a great deal of care and time to make sure the Total Access Memo manual and help file are very detailed. Check the Table of Contents and Index for your question, and read the appropriate pages.

See also

•	Web Site Support

•	Technical Support Options

•	Contacting Technical Support


Web Site Support

The FMS web site contains extensive resources to help you use our products better. Resources include product updates, frequently asked questions (FAQs), newsgroups, information on new versions, betas, and other resources.

Home Page

The FMS home page is located at:

www.fmsinc.com

News and important announcements are posted here.

Support Site

The main support page is located at

www.fmsinc.com/support/

From this page, you can quickly locate the other support resources:

Product Updates

FMS takes product quality very seriously. When bugs are reported and we can fix them, we make the updates available on our web site. If you are encountering problems with our product, make sure you are using the latest version.

Product updates can also be checked  Using the Update Wizard.

Frequently Asked Questions (FAQs)

Common questions and additional information beyond what is in the manual is often available from our FAQs.

Newsgroups

FMS also has general and product specific newsgroups. Connect with FMS Technical Support and other users there. Share your experiences, learn from others, and ask your questions in our virtual community:

www.fmsinc.com/support/newsgrp.htm

Or visit our web site for additional information.

Microsoft Patches

Our support site also includes links to Microsoft patches that are related to our products. Make sure you're using the latest versions by checking here or visiting the Microsoft site.

See also

•	Support Resources

•	Technical Support Options

•	Contacting Technical Support


Technical Support Options

FMS is committed to providing professional support for all of our products. We offer free access to our online FAQs and newsgroups. Bug reports, feature requests, suggestions, and general pre-sales questions related to our products are always available at no cost.

Additional maintenance plans are available to provide subscribers with enhanced technical support. This is the best way for you to stay current with the rapidly changing technologies that impact project development, and to ensure you are getting the maximum return from your software investment. Please visit our web site, www.fmsinc.com, for the most up-to-date information.

Features & Benefits	Premium	Incident	Standard
Access to FAQs
Access to Newsgroups
Minor Upgrades/ Bug Fixes
Telephone Support		Per  incident	First 30  Days
Email Support		Per  incident	First 30 Days
Priority Response Time 1
Senior Engineer Support Team
Email Project for Testing
Programmatic Code Assistance 2
Cost	Annual  Fee	Fee Per Incident	Included
1.	Response generally within two business days. Actual resolution may take longer depending on complexity of the issue reported.

2.	Custom Programming implementation is not provided in our Support Maintenance plans. For products that include a programmatic interface, we can provide instructions for using our programmatic interface, and show examples, but we do not implement this into your projects. This service is available from our Professional Solutions Group.

Premium Subscription

The Premium Subscription is the ideal option for customers seeking the highest level of support from FMS. The annual fee entitles you to telephone and email technical support from a senior support engineer.

Subscriptions are available for a twelve month period, and may be purchased at any time. You must be the registered owner of the product to purchase and use a subscription. Please ensure that you have purchased the subscription you need for Total Access Memo.

Per Incident

Our Per Incident package is available individually or by purchasing multiple incidents in advance. The Per Incident support package provides telephone and email technical support from a Senior Technical Support Engineer for resolving one incident.

An incident is defined as a single question related to one of our products. The Per Incident period is from start to finish (report of the incident to resolution) for a single incident. If you anticipate multiple questions for a single product, we recommend purchasing the Premium Subscription.

Standard Subscription

Our Standard Subscription comes with every product purchased for no additional cost. The standard subscription comes with access to our FAQs and newsgroups, and responses to bug reports and feature requests for that version.

Please note that the person requesting support must also be the registered user of the product. Registration is required and will be requested by our Technical Support professionals.

See also

•	Support Resources

•	Web Site Support

•	Contacting Technical Support


Contacting Technical Support

If the troubleshooting suggestions and other support resources fail to resolve your problem, please contact our technical support department. We are very interested in making sure you are satisfied with our product.

Registering Your Software

Please register your copy of Total Access Memo. You must be registered to receive technical support. Registration also entitles you to free product updates, notifications, information about upcoming products, and beta invitations. You can even receive free email notification of our latest news.

You may register your software by mailing in your registration card or directly on our web site.

Support for Licensed Developers Only

FMS provides technical support for licensed developers using or distributing Total Access Memo. FMS does not, however, provide technical support or customer service for users of your applications that use our controls—this is your responsibility.

Contact Us

The best way to contact us is via email at:

Support@fmsinc.com

Please provide detailed information about the problem that you are encountering. This should include the name and version of the product, your operating system, and the specific problem. If the product generated an error file, please submit that as well.

With email, technical support issues can be more accurately resolved and tracked in our internal technical support system. Email also gives us more time to understand the entire problem and allows our technical support staff to contact the developers with the entire story when necessary. Please bear in mind that a unique issue may involve meetings between the technical support staff and product developers, so your patience is appreciated.

Microsoft Technical Support

FMS only provides technical support for its products. If you have questions regarding Microsoft products, please contact Microsoft technical support.

See also

•	Support Resources

•	Web Site Support

•	Technical Support Options


License Agreement - License Agreement
License Agreement

PLEASE READ THE FMS SOFTWARE LICENSE AGREEMENT. YOU MUST AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT BEFORE YOU CAN INSTALL OR USE THE SOFTWARE.

IF YOU DO NOT ACCEPT THE TERMS OF THE LICENSE AGREEMENT FOR THIS OR ANY FMS SOFTWARE PRODUCT, YOU MAY NOT INSTALL OR USE THE SOFTWARE. YOU SHOULD PROMPTLY RETURN ANY FMS SOFTWARE PRODUCT FOR WHICH YOU ARE UNWILLING OR UNABLE TO AGREE TO THE TERMS OF THE FMS SOFTWARE LICENSE AGREEMENT FOR A REFUND OF THE PURCHASE PRICE.

Ownership of the Software

The enclosed software program ("SOFTWARE") and the accompanying written materials are owned by FMS, Inc. or its suppliers and are protected by United States copyright laws, by laws of other nations, and by international treaties. You must treat the SOFTWARE like any other copyrighted material except that you may make one copy of the SOFTWARE solely for backup or archival purpose, and you may transfer the SOFTWARE to a permanent storage device.

Grant of License

The SOFTWARE is available on a per license basis. Licenses are granted on a PER USER basis. For each license, one designated person can use the SOFTWARE on one computer at a time.

Use and Redistribution Rights

FMS grants you, the licensed developer, the right to distribute the SOFTWARE custom control files (those with a file extension of *.OCX) on a non-exclusive, royalty free basis, provided that:

1. Each developer that makes design changes to the form or report using the control owns a license of the SOFTWARE.

2. You do not distribute any of the SOFTWARE'S License files (those files with a file extension of *.LIC).

3. You do not distribute the custom control files, in whole or in part, in any form that does not add primary and substantial value to the custom controls.

4. You agree to indemnify, hold harmless, and defend FMS and its suppliers or contractors from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of or other activities relating to your software.

5. If you claim a copyright, you must add a clause stating, "Portions of this program are Copyright Total Access Memo from FMS, Inc." and that you do not claim ownership of the SOFTWARE.

6. You do not permit (either by explicit or implicit means) further distribution of the SOFTWARE by your end users.

Other Limitations

Under no circumstances may you attempt to reverse engineer this product. You may not rent or lease the SOFTWARE, but you may transfer the SOFTWARE and the accompanying written materials on a permanent basis provided you retain no copies and the recipient agrees to the terms in this SOFTWARE License. Ownership transfers must be reported to FMS, Inc. in writing and are not accepted if the original developer already distributed applications using the SOFTWARE.

Transfer of License

If your SOFTWARE is marked, "NOT FOR RESALE," you may not sell or resell the SOFTWARE, nor may you transfer the FMS Software license.

If your SOFTWARE is not marked, "NOT FOR RESALE," you may transfer your license of the SOFTWARE to another user or entity provided that:

1.	You have not distributed applications including the SOFTWARE.

2.	The recipient agrees to all terms of the FMS Software License Agreement.

3.	You provide all original materials including software disks or compact disks, and any other part of the SOFTWARE's physical distribution to the recipient.

4.	You remove all installations of the SOFTWARE.

5.	You notify FMS, in writing, of the ownership transfer.

Limited Warranty

If you discover physical defects in the media on which this software is distributed, or in the related manual, FMS, Inc. will replace the media or manual at no charge to you, provided you return the item(s) within 60 days after purchase.

ALL IMPLIED WARRANTIES ON THE MEDIA AND MANUAL, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE LIMITED TO SIXTY (60) DAYS FROM THE DATE OF PURCHASE OF THIS PRODUCT.

Although FMS, Inc. has tested this program and reviewed the documentation, FMS, Inc. makes no warranty or representation, either expressed or implied, with respect to this software, its quality, performance, merchantability, or fitness for a particular purpose. As a result, this software is licensed "AS-IS", and you are assuming the entire risk as to its quality and performance. IN NO EVENT WILL FMS, INC. BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM THE USE, OR INABILITY TO USE THIS SOFTWARE OR ITS DOCUMENTATION.

THE WARRANTY AND REMEDIES SET FORTH IN THIS LIMITED WARRANTY ARE EXCLUSIVE AND IN LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESSED OR IMPLIED.

Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential damages, so the above limitations or exclusions may not apply to you. This warranty gives you specific legal rights; you may also have other rights that vary from state to state.

U.S. Government Restricted Rights

The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as applicable.

Manufacturer is FMS Inc., Vienna, Virginia.

Printed in the USA

Total Access Memo is copyright © 1996-2004 by Financial Modeling Specialists, Inc.
All rights reserved.
Microsoft, Microsoft Access, Microsoft Word, Microsoft Windows, and Visual Basic are registered trademarks of Microsoft Corporation.
All other trademarks are trademarks of their respective owners.