Interdire la saisie de données existantes ailleur (valide si)

Fermé
Virokannas.Ahti Messages postés 17 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 17 août 2016 - 9 juil. 2014 à 16:23
Virokannas.Ahti Messages postés 17 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 17 août 2016 - 23 juil. 2014 à 09:47
Bonjour,

J'ai une base Access avec une table nommée "Projets". Au sein de cette table j'ai plusieurs champs dont [NomProjet] et [NuméroBonCommande].

Lors d'un nouvel enregistrement, je souhaiterai interdire la saisie de données dans le champs [NomProjet] si cette donnée existe déjà dans les champs [NomProjet] OU [NuméroBonCommande] des enregistrements précédents.

Exemple : Lors d'un nouvel enregistrement, je souhaiterai qu'il soit impossible d'inscrire "pj14-055" dans le champs [NomProjet] car cette valeur (texte) existe déjà dans le champs [NuméroBonCommande] d'un enregistrement précédent. De même si je souhaite inscrire "14-001" dans le champs [NomProjet] car cette valeur (texte) existe déjà dans le champs [NomProjet] d'un enregistrement précédent.

Pour illustrer, j'ai une prise d'écran en pj.


Quelqu'un à une idée pour faire cela ? Je pense que le plus simple est d'utiliser "Valide si" du champs [NomProjet] de ma table "Projets". Mais mes "formules" ne marchent pas ...

Un grand merci d'avance,
A bientôt,

Viro.

6 réponses

bonjour
Tu les déclares en clé primaire.
Dans une table on peux déclarer plusieurs champs en clé primaire
0
Virokannas.Ahti Messages postés 17 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 17 août 2016
10 juil. 2014 à 12:03
Bonjour,
Merci mais si j'essaye de mettre [NomProjet] ou [NuméroBonCommande] en clef primaire mais j'ai le message suivant :

"Vous ne pouvez pas changer la clé primaire.
Cette table sert de table source dans une ou plusieurs relations.
Si vous voulez modifier ou enlever la dé primaire, supprimez d'abord la relation dans la fenétre Relations."

Honnêtement, un "Valide si" pour le champs [NomProjet] me plairait beaucoup, ... c'est juste dans la formule que je bloque.
Merci,

Viro.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
10 juil. 2014 à 18:00
Bonjour
Si tu mets ta base sur le site, je veux bien essayer de te faire les 2 clés primaire.
Il faut suprimer celles qui existe entre les 2 tables, puis selectionner les 2 clées en mem temps pour faire les relations.
0
Virokannas.Ahti Messages postés 17 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 17 août 2016
16 juil. 2014 à 14:48
Bonjour,
Dsl, je ne peux pas diffuser ma base. Castours, je vois très bien pour cette histoire de clef, ... mais tu n'as vraiment pas de solution avec un "Valide si" ? En plus cette solution m'aiderai pour plus tard ...
Merci,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
16 juil. 2014 à 17:33
bonjour

La solution est peut etre par du code VBA que je ne connais pas.
Mais Si tu veux je peux te faire parvenir un exemple de base avec 2 clé primaire dans la meme table
0
Virokannas.Ahti Messages postés 17 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 17 août 2016
23 juil. 2014 à 09:47
Je suis en train de regarder via une contrainte dans la table : https://warin.developpez.com/access/contraintes/

On verra ...
0