home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / miscutil.zip / DBRELATE.ZIP / BREAKTST.PRG < prev    next >
Text File  |  1987-07-22  |  1KB  |  59 lines

  1. *  BREAKTST.PRG  THIS PROGRAM TESTS CONCEPTUALLY NON-LINEAR
  2. *  RELATION CHAINS IN DBASE AND CLIPPER, GIVING PARTICULAR 
  3. *  ATTENTION TO WHAT HAPPENS WHEN THE RELATION CHAIN IS "BROKEN".
  4. *  GREGORY J. SCOTT, 409-838-2195  July 22, 1987
  5.  
  6. PUBLIC CLIPPER
  7.  
  8. SELE A
  9. USE BREAK1
  10. INDEX ON B1 TO BREAK1   && FIELD B1, VALUES A, B, C
  11. SELE B
  12. USE BREAK2
  13. INDEX ON B1 TO BREAK2   && FIELD B1, VALUES 0, C, Z
  14. SELE C
  15. USE BREAK3
  16. INDEX ON B1 TO BREAK3   && FIELD B1, VALUES A, B, C
  17. SELE A
  18.  
  19. SET ALTERNATE TO BREAKTST.TXT
  20. SET ALTERNATE ON
  21.  
  22. IF CLIPPER                      && TEST CLIPPER MULTI-CHILD RELATION
  23.    SET RELATION TO B1 INTO B,;
  24.                 TO B1 INTO C
  25.  
  26. ? "CLIPPER MULTI-CHILD RELATION"
  27.    DO WHILE .NOT. EOF()    
  28.       ? A->B1, B->B1, C->B1
  29.       SKIP 1               
  30.    ENDDO                    
  31. ENDIF
  32.  
  33. GOTO TOP    && TEST EXTENDED LINEAR RELATION DB3+ & CLIPPER
  34. SET RELATION TO B1 INTO B
  35. SELE B
  36. SET RELATION TO A->B1 INTO C
  37. SELE A
  38.  
  39. ? "EXTENDED LINEAR RELATION CHAIN"
  40. DO WHILE .NOT. EOF()  
  41.    ? A->B1, B->B1, C->B1
  42.    SKIP 1               
  43. ENDDO                    
  44.  
  45. SET ALTERNATE TO
  46.  
  47. IF .NOT. CLIPPER 
  48. SELE A
  49. LIST STRU TO PRINTER
  50. LIST TO PRINTER
  51. SELE B
  52. LIST STRU TO PRINTER
  53. LIST TO PRINTER
  54. SELE C
  55. LIST STRU TO PRINTER
  56. LIST TO PRINTER
  57. ENDIF
  58.  
  59. TYPE BREAKTST.TXT TO PRINT