Enforce Join in Crystal report

Posted on 2011-05-10
Last Modified: 2012-05-11
I want to know the difference between the different types of enforce join:

-Not enforced
-Enforced From
-Enforced To
-Enforced Both
Question by:MKItani
    LVL 77

    Accepted Solution

    If you have selected two tables for your report and have specifed a relationship between them, then the default setting is Not Enforced.

    What this means is that if you only use fields from ONE of the two tables in your report then the relationship is not applied - it's as if the other table had never been included.  This can mean that you see records that you might not have been expecting to be included in the report.
    If you use fields from both tables the relationship is always applied, so this setting then is irrelevant.

    The complete opposite of 'not Enforced' is 'Enforced Both' - this means that even if you use fields from just one of the tables (either one) then the relationship is applied.

    'Enforced from' and 'enforced to' deal with situations where you might only want the relationship enforced when one  specific table is used - either the To table for Enforced from, or the From table for 'Enforced to'.

    I think the most important point is... 'If you use fields from both tables the relationship is always applied, so this setting then is irrelevant.'

    LVL 100

    Assisted Solution

    A real example

    Consider an Order system

    Order Table
    OrderId                CustomerId                   OrderDate                  ShipDate
       1                            1                               1 May 2011               4May 2011
       2                            3                               3 May 2011               6 May 2011
       3                            4                               8 May 2011
       4                            5                               11 May 2011

    Order Detail Table
    OrderDetailId      fkOrderId        ProductId     Quantity        
         1                           1                   P1                2
          2                           1                  P2                 1
         3                            2                  P1                 10
         4                            2                  P4                 1
          5                           3                  P2                 1
         6                            5                  P5                 2

    Customer Table
    CustomerId   Name            Address            City      
         1                J Smith          11 Some St      SunCity
         2                B Jones         12 Another Ave   NewCity
         3                K Doe             15  A St             SomeCity
         5                J Doe              20 A St              Some City

      Select Order.* FROM Order INNER JOIN OrderDetail ON Order.OrderId = OrderDetail.fkOrderId

    Not Enforced - 4 records are returned   - No fields from Order Detail selected so it is ignored.  Same as
    Select Order.* FROM Order

    Enforced       - 3 records are returned   OrderIds 1,2,3  OrderId 4 is not returned because there is no matching record in the detail table.

    Enforced From - 4 records returned.  Ignored since no fields from OrderDetail selected

    Enforced To - 3 records returned same as Enforced

    Another example
    Select OrderDetail.* FROM Order INNER JOIN OrderDetail ON Order.OrderId = OrderDetail.fkOrderId

    Not Enforced - 6 records returned.  Same as Select OrderDetail.* FROM OrderDetail

    Enforced   - 5 records returned.   OrderDetail 1 - 5  All have match in Order table

    Enforced From - Same as Enforced

    Enforced To - Same as not enforced



    Featured Post

    Highfive + Dolby Voice = No More Audio Complaints!

    Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

    Join & Write a Comment

    There have always been a lot of questions related to when Crystal Reports evaluates report components (such as formulas, summaries, cross-tabs, charts, to name a few examples). Crystal Reports uses a two-pass reporting process to provide greater …
    Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
    Sending a Secure fax is easy with eFax Corporate ( First, Just open a new email message.  In the To field, type your recipient's fax number You can even send a secure international fax — just include t…
    Here's a very brief overview of the methods PRTG Network Monitor ( offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

    728 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now