October 19, 200619 yr Hi, I have seen at least one post in this forum that suggests that the behaviour of relationships in FM 8 differs from FM 6. If there are no target records in another table then with FM 8 the target table would not display a found set of 0 records but rather all records. I am almost certain that I have experienced exactly the same when I was briefly reviewing a huge FM 6 solution that I had converted to FM 8 just for testing. But when I tried to reproduce that behaviour with a simple FM 8 database it turned out to be the same as it was with FM 6 - a source record that has no associated target record shows 0 records when GTRRing to them. Since we are just setting out to convert that very complex FM 6 solution mentioned above which uses GTRRing extensively to find records to FM 8 I'd be very glad if someone could shed some light on this issue. Thanks in advance! Regards, WestCoaster Edited October 19, 200619 yr by Guest
October 19, 200619 yr With version 6 is was possible to change the table (=file in former times) with an GTRR without related records and to achieve an result set of 0 in the related table. This is no longer possible because the behaviour of GTRR has changed. A GTRR without related records doesn't change the table any longer and doesn't affect the result set in the related table. Think of the fact that it is now possible to have more than one window and more than one resultset of a specific table. With GTRR a completely new resultset is established either in the current window or in a new window. If there are no related records at all this does not happen. Quite logical in my eyes considering the new feature of multiple windows. -jens
October 19, 200619 yr I'm afraid there's a little more to it. There are some differences between single-file and multiple file GTRR behavior: If the target layout resides in the current file, then it will behave as jens explained; when the GTRR fails, the current layout remains unchanged and the found set in the target TO remains unchanged. However, if the target layout is an external layout, residing in another file, then it behaves as in FM6 and lower, producing a found set of 0 records in the target layout. To avoid conversion issues, especially if you plan on combining files into multiple-table files, you should test for the presence of related records prior to trying to jump to them: ... If [ isempty(relationship::recordID) ] Exit Script End If Go to Related Records [ relationship; layout: some layout ] ...
October 20, 200619 yr Author Hi Ender, thank you, that does the trick. I remember that in fact the one incident where I observed that different behaviour of GTRR in FM 8 occured when it took place within the same file. Regards, WestCoaster
Create an account or sign in to comment