FMPRO-L Archives

January 2011, Week 1

FMPRO-L@LISTSERV.DARTMOUTH.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
"Richard S. Russell" <[log in to unmask]>
Reply To:
FileMaker Pro Discussions <[log in to unmask]>
Date:
Sun, 2 Jan 2011 13:39:27 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (21 lines)
I'm currently working on a database for a small event-planning business, specializing in green (environmentally friendly) weddings. In such affairs, it's important to understand who is related to whom, and how. Thus I've established a PPLinx (person-to-person links) table which contains 4 fields of interest:
 • PerSeq A (person sequence number for Person A, let's say Alan, the groom)
 • PerSeq B (person sequence number for Person B, let's say Betty, the mother of the groom)
 • Role A (the role that Person A plays in the relationship, in this case "son")
 • Role B (the role that Person B plays in the relationship, in this case "mom")

So I'm looking at Alan's record, in which there's a picker portal containing the names of potential matches. On each line of that portal is a "Set" button. Above the portal is a global "Default Role" field I can use to prepare to say that Alan is somebody's "son". When I click the "Set" button on Betty's line, it creates a new PPLinx record and fills in Alan's code (let's say 123) for PerSeq A, Betty's code (let's say 124) for PerSeq B, "son" for Role A, and the computed value "mom" for Role B.

So far, so good.

In a different portal in Alan's record (one wherein Alan's PerSeq = PPLinx::PerSeq A), I peer into PPLinx to see whom he's connected to. Sure enuf, that portal now shows "Betty: mom". Yay!

Now we jump to Betty's record. Alas, it does not show "Alan: son". That's because Betty's ID is 124, which cannot find a match with a 124 in PerSeq A.

1st attempt at a fix: I created within PPLinx a "Both IDs" field, a calculation concatenating PerSeq A, a return character, and PerSeq B. I re-aimed the link from the "People" table so that People::PerSeq was now looking for a match with PPLinx::Both IDs rather than merely PPLinx::PerSeq A. Voilà! Alan's record still shows "Betty: mom", and Betty's record now shows ... um, "Betty: mom". Shoot. That's because the portal DISPLAYS Person B and Role B.

I guess I could expand the portal so it shows BOTH Person A (+ Role A) AND Person B (+ Role B), but this seems remarkably inelegant, especially since whatever person I'm looking at would show up as Person A part of the time and Person B part of the time. What I'd really like is to have the portal for Alan not show any info on Alan at all, only info about all the people he's related to.

Another possibility is to have the "Set" button create TWO records within PPLinx, 1 with Alan as Person A and Betty as Person B, and a 2nd with the order reversed. Again, this seems inelegant, especially given that there will come a time when these relationships change (notably "groom" —> "husband" and "bride" —> "wife"), and I'd like to have to fiddle with only a single PPLinx record to make this happen.

Has anyone else encountered this situation? If so, how did you handle it?

ATOM RSS1 RSS2