Message posté par : Loulaco
----------------------------------------
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.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343657#p343657
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net