2010-11-16 6 views
0

J'utilise un script pour créer un nouvel enregistrement Invoice. Je souhaite définir automatiquement la colonne fClient fContactID de la facture sur l'ID du premier contact du client.FileMaker - Recherche de la clé primaire du premier enregistrement associé

Dans mon script, comment trouver/calculer l'ID du premier contact du client? SetField avec un résultat calculé de Min(Contact_Invoice Contact::ContactID) n'a pas fonctionné.

Tables:
Client - clé primaire: clientId
Contact - a clé étrangère: fClientID (un client peut avoir de nombreux contacts)
Invoice - a les clés étrangères: fClientID & fContactID (une facture est associée à un client et l'un des que contacts du client)

Merci,
Ben

Répondre

1

Vous dites que vous voulez définir le "fClientID", mais à partir de votre description, cela ressemble plus à vouloir définir le fContactID. Est-ce correct?

Si c'est le cas, alors vous avez une facture, liée à un client, qui est directement liée à un contact. Ce que vous faites est juste, mais si cela ne fonctionne pas, votre contexte n'est pas correct. Votre contexte à ce moment est la table Invoice, donc le contact associé doit être accessible à partir de là.

Vous pouvez également utiliser une saisie automatique calc à la place d'un script pour définir ceci. Un bonus supplémentaire est que cela vous permettra seulement de sélectionner un contexte valide et une table connexe.

+0

Bonne prise - Je voulais dire fContactID. Le champ auto-calc ne fonctionnait pas - je pense que car auto-calc s'exécuterait avant que le nouveau script de création d'enregistrement ne définisse fClientID. Votre commentaire m'a permis de réaliser que j'avais besoin de créer une autre relation pour filtrer les contacts par le client sélectionné. –

Questions connexes