AnsweredAssumed Answered

calculated global fields not propagated to other tables and layouts

Question asked by kwseattle on Feb 7, 2009
Latest reply on Feb 10, 2009 by kwseattle

Title

calculated global fields not propagated to other tables and layouts

Post

We have a two tables:

 

Participants

- Participant_Key

- Last_Name

 ...

 

Participant_Enrollments

- Qtr

- Participant_Key

- Course

 

And there is a relationship:

  Participants:: Participant_Key = Participant_Enrollments:: Participant_Key

 

For existing searches and layouts, we had created a bunch of global fields and calculated fields under Participant_Enrollments:

 

Participant_Enrollments

- Qtr_of_interest_g  (Global, Text)

- Qtr1_of_interest_year_g  (Global, Calculated Text based off Qtr_of_interest_g)

- Qtr2_of_interest_year_g  (Global, Calculated Text based off Qtr_of_interest_g)

- Qtr3_of_interest_year_g  (Global, Calculated Text based off Qtr_of_interest_g)

- Qtr4_of_interest_year_g  (Global, Calculated Text based off Qtr_of_interest_g)

 

If you entered 2008-1, in Qtr_of_interest_g, Qtr1.. Qtr4 became 2007-4, 2008-1, 2008-2, 2008-3.  I.e., the normal quarters of the academic year containing the quarter of interest.

 

We now wanted to show the courses a participant has taken throughout the year.

 

We attempted to propagate the QtrX... definitions up into Participants:

 

Participants

- Qtr1_of_interest_year_g

   (Global, Calculated = Participant_Enrollments::Qtr1_of_interest_year_g)

- Qtr2_of_interest_year_g

   (Global, Calculated = Participant_Enrollments::Qtr2_of_interest_year_g)

- Qtr3_of_interest_year_g

   (Global, Calculated = Participant_Enrollments::Qtr3_of_interest_year_g)

- Qtr4_of_interest_year_g

   (Global, Calculated = Participant_Enrollments::Qtr4_of_interest_year_g)

 

We then defined a set of table occurances and relationships to Participants as:

 

Qtr1_PE - based upon Participant_Enrollments

  Relationship: Qtr1_PE::Qtr = Participants::Qtr1_of_interest_year_g AND

                     Qtr1_PE:: Participant_Key = Participants:: Participant_Key

 

etc. for new table occurances Qtr2_PE ... Qtr4_PE. To access the enrollment records for particular academic quarters.

 

We created a new layout based upon the Participants table that had

- Participants::Last_Name

- Qtr1_PE::Course

- Qtr2_PE::Course

- Qtr3_PE::Course

- Qtr4_PE::Course

 

Which we expected to show the courses the participant was enrolled in for the academic year (in our case, each participant can take exactly zero or one course per quarter). 

 

On a different layout, we change the Participant_Enrollments::Qtr_of_interest_g.

 

That changed the calculated values of the globals within Participant_Enrollments, but there was no propagation of this change into the calculated values in Participants and therefore our layout displaying the courses the participant was enrolled in did not update to the newly selected academic year.

 

Is this a bug?  Why would Filemaker act this way -- these are all global values. Shouldn't they propagate through?  

 

We verified that the original Participant_Enrollments::Qtr_of_interest_g propagated through onto the new view, but the global fields in Participants based upon this value were never re-calculated.  That is where the problem seems to be -- the table's global fields aren't being re-calculated.

 

Outcomes