Access Condition sur une relation

[Résolu/Fermé]
Signaler
-
 Tristan d -
Bonjour,

Je dois classer les gens qui viennent me voir entre amis et enemis.
Je prend à chaque fois leur nom, prénom (ils ont un code personnes type P***). Je voudrais dans une table pouvoir, quand je choisis ami/enemi dans une liste déroulante, associer automatiquement à chaque personne un code_ami (type A***) ou un code_enemi (type E***)...
Comment faire ?

Merci !

4 réponses

Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
258
Tu parles d'un programme ou d'une page Web ? Avec base de données ? MySQL ?
Pour ce qui est d'une page Web, tu codes cela en PHP/HTML/MySQL/CSS/Javascript, c'est pas dur, cela prends environ 30min à faire.
C'est juste un formulaire contenant un <input> pour le nom, un autre pour le prénom, et un <select> pour choisir amis ou ennemi. A la place du <select> on peut aussi utiliser deux <input type="radio"> du même nom pour choisir amis/ennemis. Lorsque tu valides le formulaire, tu récupères les valeurs dans ta page PHP, et tu ajoutes donc les valeurs dans la base de données.
Je te conseilles une table SQL de ce type

amis_ennemis:
=========
id int auto_increment,
nom varchar(50),
prenom varchar(50),
ami_ennemi int

où ami_ennemi =1 pour amis et ami_ennemi=2 pour ennemi
Déjà, MERCI BEAUCOUP BEAUCOUP de ta réponse.

En fait c'est une base de données Access...

Je n'arrive pas à pouvoir consulter les gens qui viennent me voir dans un formulaire, et déclencher automatiquement le formulaire ami ou enemi en cliquant sur une check box Yes/No...Sachant que le formulaire Ami Enemi s'enregistre dans une table différente...

EN gros j'ai trois tables

PERSONNE
Code_personne
Nom
Prénom

AMIS
Code_personne
Code_Ami
Adresse
N°Tél

ENEMIS
Code_Personne
Code_Enemi
Pkoi méchant ?

Je fais un formulaire de consultation des personnes de la première table. Et dans le même formulaire, si on coche l'option AMI ou ENEMI, j'aimerai un autre formulaire qui s'ouvre avec les données à remplir s'il est AMI ou ENEMI qui s'enregistre dans la table concernée.
Heu...je suis clair ?
Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
258
Malheureusement je m'y connais pas assez en Access pour t'aider sur ce coup là. Désolé.
Bon, j'ai trouvé la solution tout seul donc je la marque pour ceux qui luttent :
Dans la table PERSONNE, ajouter les champs Amis Enemis de format SI/NO

Faire un formulaire AMI (resp. ENEMI) sur la table AMI(resp. ENEMI).
Faire un formulaire Gestion sur la table PERSONNE, en mettant bien les Boxs Amis Enemis en format SI/NO
Créer deux macros pour ouvrir automatiquement les formulaires AMI(resp.ENEMI), avec les champs :
Save Form Gestion
OpenForm Ami (resp.ENEMI)
Close

Dans les propriétés des Boxs Amis Enemi du formulaire Gestion, aller à EVENT, mettre à la ligne BeforeUpdate la macro respective (macro AMI dans les prop. de la Box Ami).
Aller dans les prop. du champ Code_Personne du Formulaire AMI (resp. ENEMI) et aller à l'onglet DATA, mettre en Valeur Par Défaut la valeur du champ Code_Personne du formulaire Gestion. N.B.: Vous pouvez LOCKED la cellule pour ne pas que l'utilisateur la modifie.

C'est fait : Quand vous ouvrez votre formulaire Gestion, apparaissent toutes les personnes. Il suffit de cliquer sur la Box AMI/ENEMI pour l'enregistrer comme tel, et s'ouvre automatiquement le Formulaire à remplir dans chacun des cas.
Si vous êtes très populaire et que de nombreuses personnes viennent vous voir, je vous conseille de faire un requête de tri à partir de la table PERSONNE, en mettant dans les conditions des champs AMI/ENEMI la condition : Null. Dès lors, faire le formulaire Gestion à partir de cette requête, et n'apparaitra plus que les Personnes ni AMI ni ENEMI dans le formulaire Gestion.

Voilà, ciao
La bise..