Q158240: BUG: Inconsistant Results with SET RELATION TO Command
Article: Q158240
Product(s): Microsoft FoxPro
Version(s): 3.00 3.00b 5.00
Operating System(s):
Keyword(s): kbvfp300 kbvfp500 kbvfp600
Last Modified: 14-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 6.0
-------------------------------------------------------------------------------
SYMPTOMS
========
Issuing the SET RELATION TO command repeated times within a program causes
inconsistent results to appear in Browse windows and in Grids. While cycling
through the program, some iterations do not show the proper one-to- many
relationships between records in the Browse window or Grid object. The
placeholder characters (asterisks) in the child record appear in different
columns when you repeatedly executes the program.
STATUS
======
Microsoft has confirmed this to be a problem in the Microsoft products listed at
the beginning of this article.
MORE INFORMATION
================
The code example below illustrates this behavior.
Steps to Reproduce Behavior
---------------------------
1. Create a program called Test that contains the following code:
IF !(FILE('custfree.dbf') AND FILE('ordfree.dbf');
AND FILE('ordifree.dbf'))
CLOSE ALL
SET DEFAULT TO c:\vfp5\samples\DATA
USE customer
COPY TO custfree
USE orders
COPY TO ordfree
USE orditems
COPY TO ordifree
USE ordifree
INDEX ON order_id TAG order_id
USE ordfree
INDEX ON cust_id TAG cust_id
USE custfree
INDEX ON cust_id TAG cust_id
ENDIF
CLOSE ALL
ON KEY LABEL f2 CLEAR EVENTS
FOR i=1 TO 10
CLOSE ALL
OPEN DATABASE testdata
USE customer
SELECT 0
USE ordifree
SET ORDER TO TAG order_id
SELECT 0
USE ordfree
SET ORDER TO TAG cust_id
SET RELATION TO order_id INTO ordifree
SET SKIP TO ordifree
SELECT 0
USE custfree
SET RELATION TO cust_id INTO ordfree
SET SKIP TO ordfree,ordifree
BROW LAST FIELDS custfree.cust_id,ordfree.order_id, ;
ordifree.line_no NOWAIT TITLE 'two'
READ EVENTS
NEXT
ON KEY LABEL f2
CLOSE ALL
CLEAR ALL
2. Execute the program and note that asterisk characters appear in the Order_id
field and data appears in the Line_no field.
3. Press F2 and note that the display reverses. The Line_no field now contains
asterisk characters and the Order_id field contains data. As you continue to
press F2 to reissue the SET RELATION TO command, these fields continue to
alternate their contents.
Additional query words: kbdse VFoxWin
======================================================================
Keywords : kbvfp300 kbvfp500 kbvfp600
Technology : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP300b kbVFP500 kbVFP600
Version : 3.00 3.00b 5.00
=============================================================================
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.
Copyright Microsoft Corporation 1986-2002.