[Isis-users] Linking records - multiple occurrences problem

Guilda Ascencio guildaa at gmail.com
Tue Nov 6 17:49:35 CET 2018


Dear Renate.

The $$REF exists as an internal command of ABCD because the REF sentence in
the formatting language does not allows one to many relationships. In your
particular case, as each occurrence points to a record in the linked
database, you can use the Ref sentence for reading the trock database:

(ref(['trock']l(['trock'],'MID_'v20), at music.pft)/)

Remember to add in the dbn.par references to the trock database and to
music.pft

Regards




On Mon, Nov 5, 2018 at 2:45 AM Renate Morgenstern <rmorgenstern at iway.na>
wrote:

> Hi Guilda,
>
> I shortly saw the mails on the LIstServ about the problem  to link
> multiple occurrences with records.
> Some time ago you sent a solution which works, but I never realised that
> it only works when the mother record contains only 1 occurrence.
> We have a database of music CDs. Every CD and* all the tracks *are linked
> to the tracks to the CD record with the so called Library number in a
> separate field.
> Example: tag 20 contains the Library No, and in the track records the same
> no is entered in tag 78.
> If a CD record is displayed, it will list all the tracks on the CD beneath
> it. And when a track is displayed it will show on which CD it is.
> Now only, we realised that when there is more than 1 occurrence in the CD
> record (2 copies of the same CD) then the track records* are not
> displayed*, but with only one occurrence in tag 20 it works fine. See
> screenshots.
> How can we solve this problem with the multiple occurrences?
> Your help will be appreciated very much.
> Renate
>
>
> The PFTs for this look like this:
> ================
> Main display:
> '<table border=0 width=90%>'
>
> (if p(v25) then '<font face=arial size=2>'v0| |,'<font face=arial size=2>
> <img src="../common/show_image.php?image='v25'&base=music" width=70
> target=top>'/'  ' fi/)/
>
> '<tr><td width=25%><b>MFN  </b></td><td valign=top>'mfn(6),'</td>'
> if p(v99) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Control No</b></td><td valign=top><font face=arial
> size=2>'v99+|<br>|,'</td>' fi/
>
> if p(v72) and v72='C' then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Category</b></td><td valign=top><font face=arial size=2>','Cover
> 'v0+|<br>|,'</td>' fi/
>
> if p(v72) and v72='T' then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Category</b></td><td valign=top><font face=arial size=2>','Track
> 'v0+|<br>|,'</td>' fi/
>
> if p(v72) and v72='X' then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Category</b></td><td valign=top><font face=arial size=2>','Cover
> classical 'v0+|<br>|,'</td>' fi/
>
> if p(v72) and v72='Y' then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Category</b></td><td valign=top><font face=arial size=2>','Track
> classical 'v0+|<br>|,'</td>' fi/
>
> if p(v78) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Lib. No (Link)</b></td><td valign=top><font face=arial
> size=2>'v78+|<br>|,'</td>' fi/
> if p(v1) and a(v41) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>CD Cover</b></td><td valign=top><font face=arial size=2>'v1| :
> |v2| |v3| <br>|,'</td>' fi/
>
> if p(v1) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Other tracks on CD</b></td><td valign=top><font face=arial
> size=2>',ref(l(|MID_|v20),(v41|<br>|)),'</td>' fi/
> if p(v180) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Parallel title</b></td><td valign=top><font face=arial
> size=2>'v180+|<br>|,'</td>' fi/
>
> .......
>
> if p(v68) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Cover musical instruments</b></td><td valign=top><font face=arial
> size=2>'v68+|<br>|,'</td>' fi/
> if p(v86) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Track cataloguer</b></td><td valign=top><font face=arial
> size=2>'v86+|<br>|,'</td>' fi/
> if p(v89) then '<tr><td width=25% valign=top><font face=arial
> size=2><b>Track cataloguer</b></td><td valign=top><font face=arial
> size=2>'v89^d,|-|v89^o+|<br>|,'</td>' fi/
>
> '</table><p><HR>'
>
> /'$$REF:music,trock,MID_'v20/
>
> ============================
> *Display for tracks, called trock:*
> '<P><font color=red><strong>Track</strong></font><P><table border=0
> width=90%>'
> mfn'<br>'/
> if p(v99) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Ctrl No</b></td><td valign=top><font face=arial
> size=2>'v99+|<br>|,'</td>' fi/
> if p(v41) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track title</b></td><td valign=top><font face=arial
> size=2>'v41+|<br>|,'</td>' fi/
> if p(v40) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track number</b></td><td valign=top><font face=arial
> size=2>'v40+|<br>|,'</td>' fi/
> if p(v43) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Variant titles</b></td><td valign=top><font face=arial
> size=2>'(if p(v43) then v43, if iocc<>nocc(v43) then '<br>' fi fi/),'</td>'
> fi/
> if p(v44) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Songs in medley</b></td><td valign=top><font face=arial
> size=2>'(if p(v44^a) then v44^a,|. |v44^b,|. |v44^c,|. |v44^d,|. |v44^e, if
> iocc<>nocc(v44) then '<br>' fi fi/),'</td>' fi/
> if p(v45) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Artists</b></td><td valign=top><font face=arial size=2>'(if
> p(v45) then | |v45, if iocc<>nocc(v43) then '<br>' fi fi/),'</td>' fi/
> if p(v46) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track composer</b></td><td valign=top><font face=arial
> size=2>'(if p(v46) then | |v46, if iocc<>nocc(v46) then '<br>' fi
> fi/),'</td>' fi/
> if p(v47) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track author</b></td><td valign=top><font face=arial size=2>'(if
> p(v46) then | |v46, if iocc<>nocc(v43) then '<br>' fi fi/),'</td>' fi/
> if p(v48) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track conductor</b></td><td valign=top><font face=arial
> size=2>'(if p(v48) then | |v48, if iocc<>nocc(v48) then '<br>' fi
> fi/),'</td>' fi/
> if p(v49) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track translator</b></td><td valign=top><font face=arial
> size=2>'(if p(v49) then | |v49, if iocc<>nocc(v49) then '<br>' fi
> fi/),'</td>' fi/
> if p(v50) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Mix/Version</b></td><td valign=top><font face=arial size=2>'(if
> p(v50) then | |v50, if iocc<>nocc(v50) then '<br>' fi fi/),'</td>' fi/
> if p(v51) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Track duration</b></td><td valign=top><font face=arial
> size=2>'v51+|<br>|,'</td>' fi/
> if p(v78) then '<tr><td width=20% valign=top><font face=arial
> size=2><b>Link to Library Number</b></td><td valign=top><font face=arial
> size=2>'v78+|<br>|,'</td>' fi/
> '</table><p>'
>
>
> --
>
> Renate Morgenstern
> Tel.: +264 61 242124
> Cell: +264 81 2910284
> Fax: 088637518
> Windhoek, Namibia
>
> --
>
> Renate Morgenstern
> Tel.: +264 61 242124
> Cell: +264 81 2910284
> Fax: 088637518
> Windhoek, Namibia
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20181106/12ed6778/attachment.html>


More information about the isis-users mailing list