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 Tue 01 June 2021 15:26

Loulaco
Juste Inscrit !
Date d'inscription: 12 Apr 2021
Messages: 6

QGIS: Saisie valeurs multiples pour relation n-n entre tables

Bonjour,

Nous souhaitons créer sur Qgis un formulaire de saisie adapté pour l'application QField.

Notre cas de figure est le suivant :

Notre base de données est composée de plusieurs tables géométriques et non géométriques, vierges et non vierges.

Il existe une relation n-n entre les tables "relevés" (saisie), "observateurs" (contenant les noms et les id des observateurs), et "relevés_observateurs" (table intermédiaire) signifiant que 1 relevé peut avoir n observateurs, et 1 observateur peut apparaître dans n relevés.

Est-il possible d'afficher une liste déroulante des observateurs dans le formulaire de la table des relevés, avec une sélection multiple ? L'idéal serait de pouvoir saisir des valeurs textuelles tout en stockant dans la base des identifiants numériques entiers. Cela devrait également se traduire par :

    - 1 enregistrement dans la table "relevés" avec un identifiant de relevé (id_releve).

    - 1 ou plusieurs enregistrements dans "relevés_observateurs" avec l'identifiant 'id_releve', ainsi que des identifiant(s) d'observateurs 'id_observateur' (ce dernier étant lié aux observateurs et qu'on ne souhaite pas modifier).

Un premier essai a été effectué dans l’onglet formulaire d'attribut des propriétés de la couche "relevé_observateur", où nous avons tenté la configuration suivante sur le champ 'id_observateur' :

- Type d'outil : valeur relationnelle
- couche : "observateurs" (table contenant les identifiants et noms des observateurs correspondants)
- colonne clé : champ numérique entier contenant l'identifiant de l'observateur.
- colonne de valeurs : champ texte contenant le nom de l'observateur.
- description de la colonne : même champ que pour la colonne de valeurs.

Les cases "trier par valeurs" et "permettre la sélection multiple" ont été cochées.

Aucun filtre, ni contrainte, ni expression de valeurs par défaut n'ont été renseignés.


La sélection devant être multiple, l'option "liste déroulante" n'a pas été envisagée car elle ne permettait pas de saisir plusieurs valeurs (sauf erreur de notre part).

Cependant, avec ce type de configuration, la table ne stocke pas l'identifiant numérique. Il est bien possible de saisir plusieurs valeurs textuelles correspondant aux noms des observateurs, mais aucune valeur n'apparaît dans le champ correspondant (ni chiffre, ni texte).


Ce problème pourrait-il provenir du type du champ lors de sa création ou bien est-t-il dû à un autre paramètre que nous n'aurions pas pris en compte ? Est-ce possible de passer par l’outil relatif aux relations entre les tables si une relation a été configurée dans les propriétés du projet ?


En espérant avoir été suffisamment claire et concise.

Nous vous remercions par avance pour toutes pistes de solutions à ces requêtes.

Hors ligne

 

#2 Thu 03 June 2021 15:12

ckiko13
Participant assidu
Date d'inscription: 20 Feb 2007
Messages: 363

Re: QGIS: Saisie valeurs multiples pour relation n-n entre tables

Bonjour

Quelle base de données utilisez-vous?

Cordialement

Hors ligne

 

Pied de page des forums

Powered by FluxBB