Private Data Session Resets the Environment

Last reviewed: October 18, 1996
Article ID: Q129980
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, versions 3.0, 5.0

SUMMARY

A data session is a set of work areas used by a form, form set, report, or label. This article explains the use of a private data session in a form or form set and the settings it affects.

MORE INFORMATION

When a form or a form set is loaded, it uses the Default Data session by default. This means that the work areas and all settings are global. You can however define private data sessions with your form and form sets by modifying the DATASESSION property of the form.

When a data session is private, work areas are private to the object. Thus, two forms can use the same tables, and the record pointer can move independently in both forms. This can be particularly useful with the Visual FoxPro object model, where multiple instances of the same object can exist and you might need to access multiple records in the same table.

In addition to scoping work areas, a private data session of a form affects some SET commands that control the environment. Private data sessions use:

  • The default Visual FoxPro settings.

Modifying these settings in a program or in the Command window has no effect on the SET commands if a form has a PRIVATE data session. The following SET commands are scoped to private data sessions:

   SET ANSI
   SET AUTOSAVE
   SET BLOCKSIZE
   SET CARRY
   SET CENTURY
   SET COLLATE
   SET CONFIRM
   SET CURRENCY
   SET DATABASE
   SET DATE
   SET DECIMALS
   SET DELETED
   SET DELIMITERS
   SET EXACT
   SET EXCLUSIVE
   SET FIELDS
   SET FIXED
   SET LOCK
   SET MARK TO
   SET MEMOWIDTH
   SET MULTILOCKS
   SET NEAR
   SET NULL
   SET PATH
   SET POINT
   SET REFRESH
   SET REPROCESS
   SET SAFETY
   SET SEPARATOR
   SET TALK
   SET UNIQUE

If you need to modify the default settings that are used by a form with a private data session, you can do the following:
  • If you have a Data Environment and the AUTOLOADTABLES property is set to .T., you can add your SET code in the BEFOREOPENTABLES event handler. This event is executed before the tables are opened. The BEFOREOPENTABLES event is executed before the Load event of the Form Set. For example, if the default setting for TALK is ON, and you want to modify this setting while your form is running, type the following in the Method for the BEFOREOPENTABLES event:

          SET TALK OFF
    
  • If you do not have a DataEnvironment associated with a form, place the code in the LOAD event of the form.


Additional reference words: 5.00 3.00 VFoxWin
KBCategory: kbenv kbtool
KBSubcategory: FxtoolGeneral


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 18, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.