Re: Besoin d'aide Requêtes

Posté par juliane le 2/1/2005 19:08:12
Bonjour,

Je ne suis pas une grande experte, mais je pense qu'il n'y a pas beaucoup de monde pour répondre aujourd'hui.
Aussi je vous propose mes propres réflexions.

Il me semble que l'analyse que vous exposez ne permet pas de rattacher un client à plusieurs associations, à moins que vous ne créiez le même client plusieurs fois, en ressaisissant à chaque fois toutes ses coordonnées.

La relations indiquée est :
CLIENT <- (0,1) -------(0,n)-> ASSOCIATION

Pour qu'un même "Client" puisse faire partie de plusieurs "Associations", il faut commencer par le définir dans la description de la liaison, et passer pour cela par la création d'un 3ème fichier "LIEN CLIENT ASSOC", qui contiendra comme rubriques les clés de relation "IDClient" et "IDAssociation" (plus éventuellement d'autres caractéristiques du Client dans le cadre de telle ou telle Association), soit une relation :
CLIENT <- (0,n) ------- (1,1) -> LIEN <- (1,1) ------- (0,n)-> ASSOCIATION
(La clé "IDAssociation" n'aura plus de raison d'être dans le fichier CLIENT, puisqu'elle ne peut contenir qu'une seule référence d'ASSOCIATION à la fois).

La création d'un nouveau "Membre d'association" nécessitera bien sûr la création de DEUX enregistrements : un dans le fichier CLIENT et un autre dans le fichier LIEN.

Il faudra ensuite mettre les rubriques des fichiers LIEN et CLIENT dans une requête LIENCLIENT pour pouvoir faire les sélections correspondantes aux différents critères.
Pensez dans ce cas à cocher la case "Afficher également les Clients qui n'ont pas de liens" dans le détail de la jointure de la requête.
Votre table sera alors basée sur la requête LIENCLIENT au lieu du fichier CLIENT.
Si vous ajoutez également la table "ASSOCIATION" dans la requête, cela permet de faire afficher le NOM et l'IMAGE de l'ASSOCIATION dans la table.

Prévoir dans le fichier CLIENT une clé composée de :
CODEPOSTAL+NOM+PRENOM
pour pouvoir faire la sélection que vous souhaitez avec la constante "hDistinct" en lecture sur cette rubrique.
Si vous la définissez comme "clé unique", cela permettra d'éviter la saisie de doublons.

Pour "marquer" les clients qui ont déjà fait l'objet d'un publipostage dans le cadre d'une association et ne pas leur adresser plusieurs fois le même mailing, c'est plus complexe et cela dépend de la manière dont vous procédez.
Personnellement, j'ajouterais un champ "NumeroMailing" (ou"DateMailing") dans le fichier CLIENT et je mettrais à jour ce champ à chaque mailing réalisé.
Pour réaliser un mailing sur les clients d'une association, il faudrait tester au préalable, sur chaque ligne de CLIENT, que ce champ n'est pas égal au numéro ou à la date du mailing en cours de traitement.

Espérant vous avoir donné des pistes…
Que ceux qui sont plus calés que moi n'hésitent pas à corriger si j'ai dit des bêtises.

Bonne année 2005 à tous.


Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1617&post_id=6686