Pages: 1
- Sujet précédent - QGIS: Modifier le champ d'une couche depuis une autre couche - Sujet suivant
#1 Fri 23 July 2021 21:10
- Will987
- Participant occasionnel
- Date d'inscription: 23 Jul 2021
- Messages: 12
QGIS: Modifier le champ d'une couche depuis une autre couche
Bonjour,
je suis nouveau sur ce forum et je vous écris ce message car dans le cadre d'un projet QGIS, j'aimerai modifier le champ d'une table et modifier en même temps le champs d'une autre table.
En gros, je travaille sur un projet de gestion d'éclairage public et pour programmer une intervention j'ai crée un formulaire à remplir à partir d'une couche "Intervention". Ce formulaire à des relations d'association avec des couches vecteurs (comme table luminaires, armoires,...).
Ces couches sont géoréférencés sur une carte Open Street Map et j'ai besoin que lorsque je crée une nouvelle entité dans la couche "Intervention", je puisse saisir ou modifier la valeur d'un champ dans la couche "Intervention" et qu'il soit automatiquement modifier dans un champs d'une autre couche comme Armoire, afin que dans la couche Armoire puisse changer d'état .
J'ai tenté une jointure, par exemple de la couche Armoire à la couche Intervention mais lorsque que je veux créer une nouvelle entité je ne peux pas modifier la valeur du champs de jointure. J'ai tenté une jointure de l'autre sens, sauf que la jointure n'est pas prise en compte car la colonne est vide à l'origine.
Auriez-vous des idées sur la façon dont je dois m'y prendre pour produire cet effet ?
Hors ligne
#2 Mon 26 July 2021 11:45
- aheurion
- Participant actif
- Lieu: NANTES
- Date d'inscription: 8 Oct 2020
- Messages: 143
Re: QGIS: Modifier le champ d'une couche depuis une autre couche
Bonjour,
Si j'ai bien compris tu veux modifier un champs de la couche parent ("Armoires" par exemple) pendant la modification de la couche enfant ("Interventions") ?
Je pense que tu ne peux faire ça que dans le sens parent->enfant (modifier "Interventions" pendant la modification de "Armoires")
Cependant s'il suffit de changer un seul champ "État" qui prendra la valeur "en cours d'intervention" (1) ou non (0) il est possible de faire un champ virtuel qui se mettra donc à jour automatiquement (avec un aggregate vers la couche "Interventions" qui donnera 1 s'il y a au moins une intervention en cours sur l'armoire et 0 si aucune intervention par exemple) :
Code:
CASE WHEN aggregate( 'id_couche_interventions', 'count', "ID", attribute(@parent,'champ_clef_primaire')="champ_clef_étrangère" AND "statut_intervention"=1 ) >0 THEN 1 ELSE 0 END
Dernière modification par aheurion (Mon 26 July 2021 11:47)
Hors ligne
#3 Tue 27 July 2021 15:09
- Will987
- Participant occasionnel
- Date d'inscription: 23 Jul 2021
- Messages: 12
Re: QGIS: Modifier le champ d'une couche depuis une autre couche
Merçi pour ton message, j'ai trouvé une façon plus simple pour régler mon problème.
Ta réponse me servira surement pour autre chose.
Hors ligne
#4 Tue 27 July 2021 17:17
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS: Modifier le champ d'une couche depuis une autre couche
Bonjour,
Merçi pour ton message, j'ai trouvé une façon plus simple pour régler mon problème.
Je pense que cela pourrait aider d'autres personnes si vous la partagiez (surtout si elle est plus simple). Merci.
Hors ligne
#5 Wed 28 July 2021 13:29
- Will987
- Participant occasionnel
- Date d'inscription: 23 Jul 2021
- Messages: 12
Re: QGIS: Modifier le champ d'une couche depuis une autre couche
D'accord,
j'ai effectué une jointure de la couche intervention vers la couche de l'ouvrage, et j'ai défini la symbologie en fonction de cette colonne jointe. Du coup lorsque je change l'état de la colonne dans l'attribut mère, la symbologie change dans la table fille.
Dernière modification par Will987 (Wed 28 July 2021 13:30)
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Modifier le champ d'une couche depuis une autre couche - Sujet suivant