Bob_Hansen wrote on Sep 21
st, 2007 at 11:44pm:
3. I wonder if you and I may be using terminology differently also. When I am talking about a ChildLink, I mean the element on the subrecord that may contain a match that is defined by the value in the element on the Parent record, which I referred to as the RetrieveSpecelement. In any case, at first look, you say "What is going on here?" But after you dig in and do an autopsy, you see a very creative approach. Whether this is an accident, or be design, I did not pursue.
When you say ChildLink I read it as Child Key Element and I read RetrieveSpecelement as Parent Key Element. Different terms but the same concept.
Quote:4. The dates in the KeyWord element, on the Child subrecord,are strings. Here is an example of that element in two records:
Quote:12436;2007/09/19;2007/09/12;0000/00/00;;MILLAR HOUSE;;OverDue;;;GROVE ROAD 19;MILLAR, SCOTT;MW2486
12433;2007/09/12;1899/12/30;0000/00/00;;HOUSING NZ BONNETTS GARAGE;;OverDue;;;BONNETTS ROAD;HOUSING NZ;IMAN7203
. (Yes, that 1899 is an error).
In this case, there are two dates that are actual,in the second and third positions. One other date is empty, in the fourth position. Entering 2007/09/12 into the RetrieveSpecelement on the Parent record will result in both of these records showing up in the tableview subform. But it is desired to only show records if the third position has the date of 9/12. That is why I am suggesting grabbing the value using a formula that gets the value of the third position in the "array".
What I'm trying to say though Bob is that Sbasic commands can not be used in this case to get the value of the child key element to do the link as the linking is done internally in Sesame. Think of it in terms of a normal Keyword search. If you type Bob into the retrieve spec, Sesame is going to give you every record where Bob appears in the Keyword field as a Keyword. It's the same thing with the subform link.
Quote:5. None of the "normal" rules about delimiter apply, because we are not using a delimiter in the RetreiveSpecElement, we are only using the string "2007/09/12". The "delimiters" in the Child KeyWord element are the normal semicolons used for KeyWord elements.
In order to specify that you want that string value to only appear in the third position of the value in the Child Key, you are either going to need to use delimiters or tag the start of each keyword with a unique identifier. In either case Every "normal" rule of the Search criteria, including the ";" apply to the value that is in the Parent Key element as it is the Search syntax.
Quote:6. Again, I have probably added more confusion. That tends to happen when the complex is put into words without visual aids. The best way to understand this is to look at it. Again, unconventional, may not work in all cases, but is working good right now. Just need, in some cases, to be specific about the element position to look at, vs. using the whole KeyWord values string as normally expected. It's not my database to share, but maybe drastixnz will share a screen shot of the Parent record showing the keyword element in the subform. That may be helpful.
I've got an older copy of it here before it was switched to a keyword field, but the design is roughly the same. Again to specify the position of the Key you'll either want to switch the delimiter or add a Unique Identifier or a Tag to each Key value.
Quote:7. And, although interesting, I think that I would eliminate the Parent record completely. Would make the subform records a normal top level database, and would make multiple views, form and tableview, for the records, using the normal retrieve specs. And move a lot of the buttons on the existing Parent form to the new forms needed when the subforms become top level forms again.
That would be the approach I would take to this as well, but the world would be rather boring for me if every user did the same thing in the same way.
Quote:Confused enough? Enjoy, thanks for your explanations of "normal" behavior.
Actually I'm hardly confused at all by this one. You should see some of the things I get to figure out. It takes a lot now to confuse me when it comes to software. Now other aspects of life, That is where I get confused.

-Ray