Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !

10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …

Faire un don 

Retrouver nos membres bienfaiteurs

#1 Thu 13 February 2020 13:28

Quentin André
Juste Inscrit !
Date d'inscription: 13 Feb 2020
Messages: 5

QGIS: Valeur par defaut dependant de champs precedemment saisis

Bonjour,

j'ai un problème qui est le suivant : j'ai différentes périodes (sélectionnées par un menu déroulant, de type "Paléolithique", "Mésolithique"... etc) et je voudrais que le formulaire mette par défaut dans les champs "Année inf" et "Année sup" les valeurs de début et de fin de chacune des périodes.
Je peux les rentrer à la main, cependant je ne peux pas utiliser de champs précédemment saisis dans mon formulaire (c'est un échec en ayant testé les 3 codes suivants pour mettre les valeurs par défaut dans "Années inf") :

Code:

CASE 
WHEN "Période inf" like '%Paléo%' then -15000 
WHEN "Période inf" like '%Epipal%' then -12000 
WHEN "Période inf" like '%Mésol%' then -9500 
WHEN "Période inf" like '%Néolitique ancien%' then -5500
WHEN "Période inf" like '%Néolitique moyen%' then -4800
WHEN "Période inf" like '%Néolitique final%' then -3500
WHEN "Période inf" like '%Bronze%' then -2200
WHEN "Période inf" like '%Hallstatt%' then -800
WHEN "Période inf" like '%La Tène%' then -450
WHEN "Période inf" like '%Antiquité%' then -27
WHEN "Période inf" like '%Moyen%' then 476
WHEN "Période inf" like '%moderne%' then 1492
else 1789
END

Code:

CASE 
WHEN current_value('Période inf') like '%Paléo%' then -15000 
WHEN current_value('Période inf') like '%Epipal%' then -12000 
WHEN current_value('Période inf') like '%Mésol%' then -9500 
WHEN current_value('Période inf') like '%Néolitique ancien%' then -5500
WHEN current_value('Période inf') like '%Néolitique moyen%' then -4800
WHEN current_value('Période inf') like '%Néolitique final%' then -3500
WHEN current_value('Période inf') like '%Bronze%' then -2200
WHEN current_value('Période inf') like '%Hallstatt%' then -800
WHEN current_value('Période inf') like '%La Tène%' then -450
WHEN current_value('Période inf') like '%Antiquité%' then -27
WHEN current_value('Période inf') like '%Moyen%' then 476
WHEN current_value('Période inf') like '%moderne%' then 1492
else 1789
END

Code:

CASE 
WHEN attribute($current_feature, 'Période inf') like '%Paléo%' then -15000 
WHEN attribute($current_feature, 'Période inf') like '%Epipal%' then -12000 
WHEN attribute($current_feature, 'Période inf') like '%Mésol%' then -9500 
WHEN attribute($current_feature, 'Période inf') like '%Néolitique ancien%' then -5500
WHEN attribute($current_feature, 'Période inf') like '%Néolitique moyen%' then -4800
WHEN attribute($current_feature, 'Période inf') like '%Néolitique final%' then -3500
WHEN attribute($current_feature, 'Période inf') like '%Bronze%' then -2200
WHEN attribute($current_feature, 'Période inf') like '%Hallstatt%' then -800
WHEN attribute($current_feature, 'Période inf') like '%La Tène%' then -450
WHEN attribute($current_feature, 'Période inf') like '%Antiquité%' then -27
WHEN attribute($current_feature, 'Période inf') like '%Moyen%' then 476
WHEN attribute($current_feature, 'Période inf') like '%moderne%' then 1492
else 1789
END

Je me pose la question du script python mais j'admets avoir essayé de regarder (j'ai quand même fait pas mal de python auparavant) mais je ne comprends pas grand chose aux scripts sur qgis.
Merci d'avance si vous avez lu et encore plus si vous avez une solution pour mon problème, Quentin.

Hors ligne

 

#2 Fri 14 February 2020 10:12

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

Bonjour,
Regardez la réponse et le projet joint qui montre comment on peut faire :
https://georezo.net/forum/viewtopic.php?id=119076

Hors ligne

 

#3 Fri 14 February 2020 12:13

Quentin André
Juste Inscrit !
Date d'inscription: 13 Feb 2020
Messages: 5

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

Bonjour, merci de la réponse mais j'avais malheureusement déjà regardé mais ça n'est pas ça que je veux (ou alors je ne sais pas m'en servir)
Ce n'est pas un menu déroulant ou une liste de valeurs que je veux pour mon champ 2 ("Année inf") mais un entier. Et les valeurs relationnelles ne sont pas exploitables sous forme d'entiers (à moins de faire une liste de valeurs de -15000 à 2000 mais ça me semble vraiment pas optimisé).

Hors ligne

 

#4 Fri 14 February 2020 12:40

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1105

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

Bonjour, 

Je viens de tester chez moi, j'ai fait un test et ça fonctionne :

CASE WHEN  "PERI_2"  LIKE '%aléo%' THEN '25000' WHEN "PERI_2"  LIKE '%Néol%' THEN '10000' ELSE 1789 END

Testez en mettant les valeurs numériques entre apostrophe. Vérifiez que les types de champs soient correctement paramétrés.

Hors ligne

 

#5 Fri 14 February 2020 12:56

Quentin André
Juste Inscrit !
Date d'inscription: 13 Feb 2020
Messages: 5

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

J'ai écrit ceci :

CASE WHEN  "Période inf"  LIKE '%aléo%' THEN '25000' WHEN "Période inf"  LIKE '%Néol%' THEN '10000' ELSE '1789' END

et il me met toujours 1789 comme valeur par défaut, quelque soit ma valeur pour "Période inf" (et j'ai bien coché la case pour la mise à jour)

Vous êtes bien en "Plage de valeurs" ?

Dernière modification par Quentin André (Fri 14 February 2020 13:08)

Hors ligne

 

#6 Mon 17 February 2020 00:39

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

Quentin André a écrit:

Bonjour, merci de la réponse mais j'avais malheureusement déjà regardé mais ça n'est pas ça que je veux (ou alors je ne sais pas m'en servir)
Ce n'est pas un menu déroulant ou une liste de valeurs que je veux pour mon champ 2 ("Année inf") mais un entier. Et les valeurs relationnelles ne sont pas exploitables sous forme d'entiers (à moins de faire une liste de valeurs de -15000 à 2000 mais ça me semble vraiment pas optimisé).


Ce n'est pas vraiment une liste de valeurs car la contrainte est du 1 pour 1.
Au final vous aurez un entier qui se complètera automatiquement dès le choix de la période.

Pour moi, c'est adapté sauf si vous avez besoin de changer la valeur par la suite et que la valeur n'est pas listée dans les valeurs possibles de départ maii vous ne l'avez pas évoqué.

Cordialement,

Hors ligne

 

#7 Mon 17 February 2020 10:05

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3948

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

Bonjour,

Vous êtes bien en "Plage de valeurs" ?


Pourquoi?

Hors ligne

 

#8 Mon 17 February 2020 10:37

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1105

Re: QGIS: Valeur par defaut dependant de champs precedemment saisis

SANTANNA a raison, il faut mettre 'Edition de texte' (si on parle bien de cette option disponible dans la rubrique 'Formulaire d'attributs' des propriétés de la couche).

Hors ligne

 

Pied de page des forums

Powered by FluxBB