Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Règle validation

4 réponses
Avatar
Onfaissquonpe
Bonjour,

Comment écrire une règle de validation pour un champ d'une table (champ2)
dépendant d'un champ (champ1) de la même table?

Champ2 doit être non null et non vide si Champ1 est non vide.

Merci.

Luc

4 réponses

Avatar
Raymond [mvp]
Bonjour.

il faudrait terminer ta règle sinon pour l'instant il manque 1 élément de
contrôle ou alors champ2 peut avoir n'importe quelle valeur si champ1 null
ou vide;
si champ1 est vide ou null ??? quel est le type de champ ? num ou alpha ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Onfaissquonpe" a écrit dans le message de
news: 41c5f34d$0$10230$
Bonjour,

Comment écrire une règle de validation pour un champ d'une table (champ2)
dépendant d'un champ (champ1) de la même table?

Champ2 doit être non null et non vide si Champ1 est non vide.

Merci.

Luc



Avatar
Onfaissquonpe
Bonjour,

N'ayant pu aller sur le forum avant aujourdh'ui, vous avez raison:

Champ2 (texte) doit être non null et non chaine vide si champ1 (date) est
non null.
Champ2 (texte) doit être null ou chaine vide si champ1 (date) est null.

L'évènement "Form_BeforeUpdate" fonctionne à partir d'un formulaire, résoud
la question à 50% car n'évite pas le non respect de la validation en cas de
modification directe de la table.

On m'a évoqué des règles de validation au niveau table et non pas champ;
est-ce une piste?

merci,

Luc






"Raymond [mvp]" a écrit dans le message de
news: e$$
Bonjour.

il faudrait terminer ta règle sinon pour l'instant il manque 1 élément de
contrôle ou alors champ2 peut avoir n'importe quelle valeur si champ1 null
ou vide;
si champ1 est vide ou null ??? quel est le type de champ ? num ou alpha ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum



Avatar
Raymond [mvp]
Bonjour.

j'espère que tu as passé un joyeux noël ?

pour le contrôle directe dans la table, pas possible dans ton cas:
Dans le cas des contrôles, vous pouvez affecter à la propriété ValideSi
(ValidationRule) n'importe quelle expression valide. Dans le cas des règles
de validation des champs et des enregistrements, l'expression ne peut
contenir d'expression définie par l'utilisateur, de fonction domaine ou de
regroupement, la fonction Eval ou la méthode CurrentUser ou des références à
des formulaires, des requêtes ou des tables. Les règles de validation des
champs ne peuvent pas non plus contenir de références à d'autres champs.
Dans le cas des enregistrements, les expressions peuvent contenir des
références à d'autres champs de la table en question.

il faut passer obligatoirement par le formulaire dans les événements
beforeupdate du champ1 et Form_beforeupdate pour un contrôle final ainso que
sur Form_Current pour contrôler la valeur au départ de l'affichage.
qu'en penses-tu ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Onfaissquonpe" a écrit dans le message de
news: 41ce5869$0$31503$
Bonjour,

N'ayant pu aller sur le forum avant aujourdh'ui, vous avez raison:

Champ2 (texte) doit être non null et non chaine vide si champ1 (date) est
non null.
Champ2 (texte) doit être null ou chaine vide si champ1 (date) est null.

L'évènement "Form_BeforeUpdate" fonctionne à partir d'un formulaire,
résoud la question à 50% car n'évite pas le non respect de la validation
en cas de modification directe de la table.

On m'a évoqué des règles de validation au niveau table et non pas champ;
est-ce une piste?

merci,

Luc


Avatar
Onfaissquonpe
Bonjour,

Tout d'abord merci pour ton joyeux Noël. Il s'est bien très bien passé.
Bien mieux que Win2000 sur mon PC du bureau qui s'est mis en vrille à mon
retour.
Les parents boivent, les micros trinquent!

J'ai bien retenu ce que tu m'as expliqué et t'en remercie. Je vais donc
utiliser les évènements que tu as cités.

Je te souhaite de joyeuses libations de fin d'année qui, j'espère, te
donneront Access à une année 2005 à la hauteur de toutes tes espérances
(d'accord le jeu de mots est plus que moyen et facile, je ferai mieux
l'année prochaine)

Je vais de ce pas faire un sort à 2004...

Luc




"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

j'espère que tu as passé un joyeux noël ?

pour le contrôle directe dans la table, pas possible dans ton cas:
Dans le cas des contrôles, vous pouvez affecter à la propriété ValideSi
(ValidationRule) n'importe quelle expression valide. Dans le cas des
règles
de validation des champs et des enregistrements, l'expression ne peut
contenir d'expression définie par l'utilisateur, de fonction domaine ou de
regroupement, la fonction Eval ou la méthode CurrentUser ou des références
à
des formulaires, des requêtes ou des tables. Les règles de validation des
champs ne peuvent pas non plus contenir de références à d'autres champs.
Dans le cas des enregistrements, les expressions peuvent contenir des
références à d'autres champs de la table en question.

il faut passer obligatoirement par le formulaire dans les événements
beforeupdate du champ1 et Form_beforeupdate pour un contrôle final ainso
que sur Form_Current pour contrôler la valeur au départ de l'affichage.
qu'en penses-tu ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Onfaissquonpe" a écrit dans le message de
news: 41ce5869$0$31503$
Bonjour,

N'ayant pu aller sur le forum avant aujourdh'ui, vous avez raison:

Champ2 (texte) doit être non null et non chaine vide si champ1 (date) est
non null.
Champ2 (texte) doit être null ou chaine vide si champ1 (date) est null.

L'évènement "Form_BeforeUpdate" fonctionne à partir d'un formulaire,
résoud la question à 50% car n'évite pas le non respect de la validation
en cas de modification directe de la table.

On m'a évoqué des règles de validation au niveau table et non pas champ;
est-ce une piste?

merci,

Luc