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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 03 January 2022 13:14

Giene
Participant actif
Date d'inscription: 1 Dec 2018
Messages: 75

QGIS 3.22: Trouver valeur champ d'apres ID, depuis couche fille

Bonjour,

Mon titre est assez peu explicite, mais pas assez de caractères disponibles pour mieux résumer ^^"


Mon problème :
J'ai une couche mère ("TERRAIN_SAISIE_LISTE_PT") et une couche fille ("formulaire_bota_v1.1").
J'aimerais que lorsque le champ 'Pla-cort' est renseigné, une contrainte s'applique dans la couche fille pour éviter d'enregistrer sans remplir certains champs.


N'ayant encore trouvé que des solutions moyennes, j'aimerais qu'un champ dans la couche fille ('Check') prenne la valeur de 'Pla-cort', ainsi, si ce champ n'est pas vide, je peux appliquer mes contraintes.
Sauf que je galère à y arriver...

Actuellement, j'applique à chaque mise à jour des champs le code ci-après, pour récupérer, en concaténant "ID" et "Pla-cort", la valeur dont l'ID est le même dans la couche fille.

Code:

CASE
WHEN "ID_LISTE" = left( aggregate(layer:='TERRAIN_SAISIE_LISTE_PT',aggregate:='concatenate',expression:="ID" || '@'  || "Pla-cort"), strpos( aggregate(layer:='TERRAIN_SAISIE_LISTE_PT',aggregate:='concatenate',expression:="ID" || '@'  || "Pla-cort") ,'@')-1)
THEN
Replace(aggregate(layer:='TERRAIN_SAISIE_LISTE_PT',aggregate:='concatenate',expression:="ID" || '@'  || "Pla-cort"),left(aggregate(layer:='TERRAIN_SAISIE_LISTE_PT',aggregate:='concatenate',expression:="ID" || '@'  || "Pla-cort"), strpos( aggregate(layer:='TERRAIN_SAISIE_LISTE_PT',aggregate:='concatenate',expression:="ID" || '@'  || "Pla-cort") ,'@')),'')
END

Sans vous attarder trop sur le problème, qui est surement imbitable vu la manière dont je le présente, peut-être sauriez-vous me dire directement comment je peux savoir entre une couche parent et une couche fille, si le champ de la couche parent est vide ou rempli ?

Bonne journée !

Hors ligne

 

Pied de page des forums

Powered by FluxBB