Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Utilisation de la fonction rand()... J'aimerais fixer le résultat...

  • Philippe
  • Philippe's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 3 weeks ago #195940 by Philippe
Bonjour à tous,

J'ai besoin de générer un chiffre aléatoire avec la fonction rand().
J'ai donc créé une question "Equation" qui contient ça :
Veuillez noter le Numéro de suivi : {q0001=rand(1,9999999)}

La question apparait bien et le numéro aléatoire est bien affiché cependant au moindre appuie sur une touche ou modification dans le questionnaire et donc l'appuie sur le bouton envoyer, le chiffre est modifié...

Hors j'ai besoin que l'utilisateur puisse noter ce chiffre pour s'y référer ultérieurement.

Pour info il s'agit d'un recueil de signes cliniques dans le cadre du COVID-19 et nous n'avons pas le droit de faire du nominatif, on a seulement le droit d'avoir un fichier dit de correspondance d'ou mon besoin d'un numéro de suivi.

J'ai tenté de récupérer la variable "seed" mais je n'y arrive pas ... Et surtout je ne trouve pas de documentation sur "seed"...

Merci pour l'aide, dont vous vous doutez c'est un peu urgent... (faudrait que cette cohorte puisse démarrer lundi matin...)

Amicalement
Philippe
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 2 weeks ago #196005 by DenisChenu
Salut,

{q0001=if(is_empty(q0001),rand(1,9999999),q0001)}

Sinon : j'ai ce plugin : gitlab.com/SondagesPro/QuestionSettingsType/generateUniqId qui est fait un pour cela.

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • Philippe
  • Philippe's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 2 weeks ago #196092 by Philippe
Bonsoir Denis,
Merci beaucoup pour tes réponses.
Pour celle là, je ne peux plus installer le plugin car j'ai démarré l'enquête avec ce que j'ai mis moi comme formule.
Par contre, j'ai testé la tienne mais le résultat est étrange :
Effectivement ça règle bien le problème du changement de numéro a chaque appui d'une touche MAIS...
Les phrases dans la question sont répété plusieurs dizaines de fois ... C'est étraznge...
---

Comme j'étais à la ramasse et qu'il fallait que ça démarre hier j'ai finalement "règlé" le problème un peu différemment...
J'ai introduit le résultat de la fonction dans le mail de confirmation que les gens recoivent et leur ait demandé de pas tenir compte de celui affiché car forcément c'est pas le même...

Bon, c'est pas élégant mais j'avais vraiment pas le temps...

Ceci dit c'est sans arrêter la base donc si tu me propose une formule plus sympa je suis preneur...

Merci beaucoup en tout cas pour l'aide
Philippe
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 2 weeks ago #196201 by DenisChenu
Salut,

Heu , à la base {q0001=if(is_empty(q0001),rand(1,9999999),q0001)} passe tous le temps.

Je ne comprend pas le Les phrases dans la question sont répété plusieurs dizaines de fois ?

q0001 est une question de type numérique et tu rentre la formule dans une questin de type équation ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • Philippe
  • Philippe's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 2 weeks ago #196220 by Philippe
Bonsoir Denis,
Merci encore pour tout ce temps que tu donnes sur ce forum.

Heu, je viens de comprendre mon erreur. En fait je n'ai pas créé de question de type numérique dont le code serait ici q0001 ...
J'ai juste créé une question de type équation avec ce fameux code (ici q0001) et copié la formule dans la question équation...
J'imagine que ça doit faire comme une référence a elle même ...
Damn... Je suis idiot...
(En fait je lis le manuel mais souvent très très vite en travers car je suis toujours à faire les choses dans l'urgence...) Du coup je loupe des trucs et effectivement j'avais pas compris que la question équation devait nourir une autre question/champs... Je pensais que le résultat de l'équation se stockait dans la variable du champs équation...
Bon, même si pour cette enquête qui a déjà démarrer j'ai trouvé une solution alternative ben je le saurais pour les prochaines.
En tout cas merci beaucoup
Amicalement
Philippe
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 2 weeks ago #196244 by DenisChenu
Oui,

Ca fait référence à elle même ...

Dans ce cas, il me semble que
{if(is_empty(CetteEquat.NAOK),rand(0,9999),CetteEquat.NAOK}

passe bien.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: Philippe
The topic has been locked.
  • Philippe
  • Philippe's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 1 week ago #196501 by Philippe
Bonsoir,
Même problème avec la deuxième formule.
Bon, on va pas se prendre le chou, j'ai compris où était mon erreur ce qui est au final l'essentiel
Merci Denis
Bonne Soirée
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose