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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Sun 13 January 2019 18:19

cocro
Participant actif
Lieu: rennes
Date d'inscription: 5 Sep 2005
Messages: 62
Site web

QGIS 3.4.3: Calculatrice avec conditions multiple dans formulaire

Bonjour,

peut-on appliquer des contraintes de type "case"/"if" dans un formulaire ?
je cherche (toujours) à faciliter la saisie sous Qfield de mon enquête commerce

j'ai une table d'activité (activ19) de 14 postes qui donne lieu à une information détaillée (detail19)de 200 postes
mon enquêteur choisit une "activité" dans la liste de valeur, la saisie suivant sur le champ "détail" ne voit apparaitre que les lignes correspondantes.
exemple : choix "1-Alimentaire spécialisé" déclenche un extrait de 23 lignes de commerce de détail qui commence également par "1"
Sous Qgis, aucun souci avec le type "valeur relationnelle" mais ce format n'est pas exportable sous QField hmm

Différents test via la calculatrice de champs montre que l'on peut alimenter l'un selon l'autre mais .... cela ne correspond pas à mon besoin La veleur "vrai" renvoie une information, aucunement un lien avec une liste de valeur
if (left("ACTIV19",2) like '1-', "DETAIL19"='1', 'toto')
ou
IF (regexp_match( "ACTIV19", '^1-Alimentaire spécialisé' ), '1-*', 'toto')


Je cherche coté "contrainte" du champ "detail19" mais je ne sais quelle expression appliquée sad
Peut-on générer un bout de code applicable au formulaire afin que la saisie "activ19" déclenche une liste value allégée dans le champ "detail"
Est-ce que c'est possible ou pas ?

merci de votre lecture et aide
Corinne

Hors ligne

 

#2 Mon 14 January 2019 14:51

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3789

Re: QGIS 3.4.3: Calculatrice avec conditions multiple dans formulaire

Bonjour,
Je ne suis pas sûr que la contrainte soit la solution sachant qu'en mode création, il me semble que les champs ne sont pas au courant de ce qui se passe dans les autres champs de la même entité donc impossible de savoir que vous avez sélectionné "1-Alimentaire spécialisé" par ex pour en répercuter les effets sur un autre champ. Et encore, dans le cas présent, ce serait pour afficher une liste déroulante. Alors qu'une contrainte renvoie en général une valeur.

Peut-on générer un bout de code applicable au formulaire afin que la saisie "activ19" déclenche une liste value allégée dans le champ "detail"
Est-ce que c'est possible ou pas ?


Tout est possible, pour autant que vous en ayez les capacités techniques. Il y a ce vieux post daté aujourd'hui (python3, qt5 et autres fonctions natives de QGIS entre-temps) mais ça reste possible selon ce que vous voulez y passer comme temps.
Je suis d'ailleurs étonné qu'un tel besoin n'existe pas déjà dans QField, ses développeurs contribuant beaucoup sur ces fonctions dans QGIS. En fouillant un peu le net, j'ai trouvé cette discussion qui me fait penser à deux choses:
- a priori, c'est possible en utilisant les références relationnelles et pas les valeurs relationnelles (moins réactif toutefois)
- il est possible de financer la fonctionnalité. Au regard du temps que vous passez à faire des tests ici et là et attendre des retours sur les forums, peut-être est-ce plus financièrement/techniquement/durablement intéressant de contribuer à sa mise en place. Tiens, ça me fait penser à la question du mois.

Espérant que ça vous aide à avancer...

Hors ligne

 

Pied de page des forums

Powered by FluxBB