Case à cocher unique

Fermé
planetesud - 12 oct. 2019 à 19:09
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 14 oct. 2019 à 23:48
Bonjour,

J'éssais dans un formulaire d'un BDD Access de créer un objet "case à cocher" unique.

Ce formulaire affiche plusieurs contacts d'un client, et j'ai un contact favori. Je pourrais pouvoir l'identifier par une case à cocher, mais dans tous les résultats du filtre, je dois pouvoir cocher qu'un seul enregistrement, si j'essaye d'en cocher un autre, je voudrais avoir un message, qui me prévient que je ne peux selectionner qu'un seul contact favori et qui me demande si je veux changer de favori?

Quelqu'un a-t-il une idée sur la façon que je peux réaliser ceci ?

Merci à qui voudra bien m'aider.
A voir également:

2 réponses

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
12 oct. 2019 à 21:41
Bonjour

Tu saisie les informations sur un formulaire ?
Tu utilises quel langage ?

Tu peux, s'il te plaît, nous mettre le code de ce que tu as déjà fait.
0
planetesud Messages postés 6 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 14 octobre 2019
13 oct. 2019 à 16:15
Bonjour et merci pour ton intention. Oui je saisie les informations dans un formulaire.Je ne comprends pas ta question concernant le langage ? Je n'ai pas de code dans ma Bdd car inutile jusque présent;
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
12 oct. 2019 à 22:56
bonjour, la case à cocher est-elle un champ d'une table?
peux-tu nous donner la liste de tes tables et des champs de tes tables?
0
planetesud Messages postés 6 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 14 octobre 2019
13 oct. 2019 à 16:19
Bonjour et merci pour ton attention.
La case à cocher est dans un table nommée contact_client. Il s'agit d'une Bdd Access des plus basique.J'ai 3 tables, une commercial, une client, et un contact client. Dans ma table commercial, un champ N° Auto, un champ nom et un lien vers ma table client. Dans ma table client, un champ n°, un champ Nom_du_client, un champ adresse, ville etc, un champ lien vers contact. Dans ma table contact, un champ N°, un champ nom du contact, un champ type case à cocher. Et c'est ce fameux champ que je cherche à rendre "unique".
Merci encore
Je tiens à préciser que cela doit faire 2 heures que j'essaie de répondre, mais rien n'y fait, j'ai changé de PC, et là ça à l'air de fonctionner......
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > planetesud Messages postés 6 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 14 octobre 2019
13 oct. 2019 à 21:03
table commercial, un champ N° Auto, un champ nom et un lien vers ma table client.
table client, un champ n°, un champ Nom_du_client, un champ adresse, ville etc, un champ lien vers contact
table contact, un champ N°, un champ nom du contact, un champ type case à cocher.
_
donc chaque commercial a un seul client?
chaque client a un seul contact?
0
planetesud Messages postés 6 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 14 octobre 2019
13 oct. 2019 à 21:52
Non j’ai une relation un à plusieurs
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > planetesud Messages postés 6 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 14 octobre 2019
13 oct. 2019 à 22:23
donc ce serait dans la table client qu'il y a un champ qui contient le N° du commercial?
le client est lié à un seul commercial?
et dans la table contact un champ qui contient le N° du client?
le contact est lié à un seul client?
si j'ai bien deviné, alors je suggère de ne pas avoir de case à cocher dans la table contact, mais d'ajouter dans la table client un champ qui indique le N° du contact favori.
0
planetesud Messages postés 6 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 14 octobre 2019
Modifié le 14 oct. 2019 à 20:41
Bonsoir,
Merci pour ton aide, mais comme expliqué plus haut, j'ai du changer de PC et je me suis embrouillée dans mes champs cités, car j'ai pris mon PC Perso, alors que ma base est sur mon PC Pro.... oups.....
Dans ma table commercial : N°Employé, Nom et Prénom
Dans ma table client : N°Client, Nom, adresse...., Lien avec Commercial
Dans ma table contact client :N°Contact, Nom du contact, Lien avec Client, Case à cocher "Favori"

J'ai un début de solution, dans ma table Contact, j'ai créé un champ qui compte mes "Case à cocher", que j'ai nommé "CompteMail" et dans mon formulaire, en source contrôle j'écris :
=SomDom"[Favori]";"T3_ContactClient")


Ensuite dans mon formulaire :
Private Sub Favori_Click(Cancel As Integer)
Dim sql As String
Dim rep As Long

If Me.CompteMail.Value < 0 Then

rep = MsgBox("Vous ne devez choisir qu'un seul mail de contact. Voulez-vous conserver ce mail ?", vbYesNo, "ATTENTION")
'si la réponse est non : il décoche le contact coché
If rep = vbNo Then

Me.Favori = False

Else
'Decoche toutes les cases à cocher et garde le contact désiré

sql = "update T3_ContactClient set Favori = false"
CurrentDb.Execute sql

End If
End If
Me.Requery
End Sub

Ce code fonctionne à peu près bien, à un détail près, si je décoche toutes mes cases, j'ai quand même le message, car l'actualisation se fait après... je pense que je devrais positionner ce code ailleurs, mais je tourne en rond.
De plus, il y a des fois, mais pas à chaque fois, il me dit qu'une autre personne est en train de modifier mes données en même temps, alors que je suis sure d'être seule sur cette base pour l'instant;

Si tu as des idées pour moi, je suis preneuse et encore désolée pour ma confusion.
Sandrine
0