banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 24 October 2018 15:19

SIGCMC56
Participant occasionnel
Date d'inscription: 9 Jul 2018
Messages: 28

QGIS 2.18.24: Contrainte avec une expression sur un champ

Bonjour,

je travaille avec QGIS 2.18.24 (LTR).

J'ai une table de données avec un champ (champ a) limité à 10 caractères en String.

J'ai mis en place un formulaire de saisie vie l'option "cliquez-glissez" de qgis.


Dans ce formulaire on retrouve le "champ a" en mode "Edition de texte", mais quand on saisie une valeur dedans on peut, en mode édition, saisir 30 caractères par exemple et au moment de l'enregistrement QGIS retourne "erreur : valeur trop longue pour ce champ"
Ce qui est normal puisqu'on ne peut y mettre que 10 caratères.

Ce que je voudrais c'est pouvoir créer sur ce champ une "contrainte".
Quand on passe par les propriétés de la couche, puis l'onglet champ puis quand on clique sur l'édition du "champ a". Il y a bien une partie "Constraints".

Est-il possible de paramétrer cela? Ainsi dans mon formulaire de saisie, l'utilisateur ne pourra inscrire que 0 ou 10 caractères max, après même s'il dépasse rien ne se remplira.

Merci

Hors ligne

 

#2 Wed 24 October 2018 16:22

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS 2.18.24: Contrainte avec une expression sur un champ

Bonjour,

Effectivement du côté des contraintes vous pouvez ajouter quelque chose comme

Code:

length(  "mon_champs" ) <= 10

et mettre en description 'Limite = 10 caractères'.

Bon courage

Hors ligne

 

#3 Wed 24 October 2018 16:38

SIGCMC56
Participant occasionnel
Date d'inscription: 9 Jul 2018
Messages: 28

Re: QGIS 2.18.24: Contrainte avec une expression sur un champ

Génial Sylvain,

c'est exactement ce que je voulais !!! tout fonctionne parfaitement!!!



J'en profite pour une autre question tjs pour des contraintes, mais cette fois sur le champ b de type "Date".
J'aurais aimé avoir une valeur par défault comme ceci "00-00-0000" mais le seul résultat que j'ai en paramétrant un champ date avec :
    Format du champ : Personnalisation dd-MM-yyyy
    Afficher l'outil : Personnalisation dd-MM-yyyy
    Autoriser les valeurs NULL de cocher

Au rendu j'ai NULL d'affiché dans mon champ et pas 00-00-0000

Hors ligne

 

#4 Fri 26 October 2018 09:08

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS 2.18.24: Contrainte avec une expression sur un champ

Bonjour,

Vous pouvez essayer dans "Default value"

Code:

format_date( now(),'dd-MM-yyyy')

et personnaliser grâce aux explications fournies dans la fenêtre de dialogue "expression" lorsque vous sélectionnez une fonction (cf PJ)

Bon courage


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB