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

GEODATA DAYS 2024

#1 Wed 19 August 2020 20:03

B. Jacq44
Juste Inscrit !
Date d'inscription: 24 Feb 2016
Messages: 2

QGIS 3.10.3: Formulaire de saisie sur une relation N:N

Bonjour,

j'utilise actuellement qgis 3.10.3 et je voudrais faire un formulaire qui permette de créer un point dans une table, de saisir des données dans une autre et d'enregistrer les PK de ces deux tables dans la table pivot qui permet de faire la relation entre elles (mes tables sont en base oracle 12c).

Pour cela, j'ai utilisé la méthode présentée ici https://docs.qgis.org/3.4/fr/docs/user_ … -form-view partie "Introduction aux relations plusieurs-à-plusieurs (n à n)", c'est-à-dire :

1. Cocher l'option "créer automatiquement des groupes de transaction lorsque c'est possible" ;
2. Créer une relation 1:n entre la TABLE_POINT et TABLE_PIVOT intitulée "Informations" ;
3. Créer une relation 1:n entre la TABLE_INFOS et TABLE_PIVOT intitulée "table_infos_FK";
4. Dans le formulaire de TABLE_INFOS mettre la relation table_infos_FK avec la cardinalité TABLE_POINT(id) ;
5. Dans le formulaire de TABLE_PIVOT mettre les FK en "référence de la relation" ->  "Informations" pour fid_point, "table_infos_FK" pour fid_infos ;
4. Dans le formulaire de TABLE_POINT mettre la relation "table_infos_FK" avec la cardinalité TABLE_INFOS(id) ;

Cependant quand j'essaie d'insérer un objet via le formulaire, bien que j'arrive à remplir correctement les tables TABLE_POINT et TABLE_INFOS, je n'arrive à récupérer que l'id de TABLE_INFOS dans TABLE_PIVOT, mais pas l'id de TABLE_POINT.

Quelqu'un a t-il été confronté au même problème ? Si oui avez-vous trouvé une solution ? S'il s'agit d'un bug est-ce corrigé dans la version 3.12 ou 3.14 ?

Sinon je me demande s'il ne serait pas possible de créer un formulaire qui permette de créer un point et d'enregistrer puis, dans le même formulaire, saisir mes données dans TABLE_INFOS, la table pivot étant mise à jour en base automatiquement. J'ai cherché de ce côté et si on peut enregistrer les données attributaires dans TABLE_INFOS et enregistrer, je ne vois pas comment faire la même manipe avec une table de point.
Quelqu'un aurait-il une idée ?

Merci d'avance,

Hors ligne

 

#2 Wed 26 August 2020 11:47

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

Re: QGIS 3.10.3: Formulaire de saisie sur une relation N:N

Bonjour,

regardez ce poste, ceci explique la démarche côté serveur (sous postgres)
A voir si c'est possible de l'adapter avec Oracle

https://georezo.net/forum/viewtopic.php?id=117827

Hors ligne

 

#3 Mon 28 September 2020 09:08

B. Jacq44
Juste Inscrit !
Date d'inscription: 24 Feb 2016
Messages: 2

Re: QGIS 3.10.3: Formulaire de saisie sur une relation N:N

Bonjour,

merci JD pour ta réponse, mais j'ai une contrainte dans ma commande qui m'oblige à faire fonctionner le formulaire de type n:n dans l'application (c'est-à-dire qgis).

Mais j'ai trouvé une solution : en fait celle que je présentais dans mon message précédent était bonne, mais c'est dans la saisie que je me trompais car elle se fait en deux fois :
1. Créer un point dans la table TABLE_POINT et remplissez les infos de cette table dans le formulaire ;
2. Cliquer sur le petit "i" infos puis sur le point que vous venez de créer, puis cliquez sur "ajouter une entité fille" et remplissez le formulaire de la table TABLE_INFOS. Le remplissage de la table TABLE_PIVOT se fait automatiquement grâce aux relations créées dans projet/propriétés/relations ;

Bonne journée,

Hors ligne

 

Pied de page des forums

Powered by FluxBB