Jump to content
  • 0

Items preferentiels sur une liste deroulante de valeurs predefinies


Sadlig
 Share

Question

Bonjour

Je suis en train de créer une base de données pour aider ma fille à gerer un cabinet dentaire.

Il s’agit pour le moment de la création de devis et factures pour une patientele adressée par des generalistes pour des soins spécialisés.

il y a une 30 aines de soins regroupés dans une table de soins avec leur code et honoraires afférents
Les devis font entre 2 et 6 lignes de soins max

les lignes de devis sont regroupées dans une table liée sur a la tables de soins. Ils sont saisi sur une table externe liée a la Table de devis, elle meme liée a la table patients. 
On remplit donc les lignes de devis en choisissant les soins au moyen de la liste deroulante qui reprend les soins de la table de soins.
Jusque  la j’ai maitrisé grace à l’aide d’Apophis, entre autres.

Mais en fait il y a des soins qui reviennent tres souvent d’ou  l’idée et de créer 5 ou 6 modeles qui regroupent 3 ou 4 lignes de soins a prendre dans cette liste deroulante pour etablir des devis predeterminés. Bien evidemment dans ces devis predeterminés il y a des lignes de soins communes et d’autres non. 
Je cherche donc une solution pour saisir ces lignes de devis, soit automatiquement au moyen de scripts par des boutons, mais peut-on remplir une TE par des script? ou bien manuellement en limitant les choix de la liste deroulante au strict nécessaire.

J’ai donc besoin de vos lumieres pour trouver une solution

merci de vos cogitations. Si besoin je peux poster photos ou fichier

voici les tables: Patient2 est une copie de Patient pour creer des ordonnances sur le meme modele

WfzxBWv.png

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Bonjour,
Oui, on peut renseigner une table externe par script. Il y a en gros 3 voies.
- Embarquer dans la table source les données nécessaires dans des variables, activer une occurrence de table de la table externe, y créer les enregistrements et renseigner les rubriques embarquées (et d'autres probablement) et enfin revenir à la table source.
- Autoriser la création d'enregistrements dans la table externe (options du lien), activer cette TE (il faut pour ça lui donner un nom), activer sa dernière rangée externe et renseigner les rubriques.
- Utiliser une clé magique, technique très particulière, mais très pratique, longuement développée dans ce forum.
Pour restreindre une liste de valeurs, soit vous créez des liste de valeurs "en dur" avec les seules valeurs qui vous intéressent, soit vous utilisez des listes de valeurs conditionnelles (il y a un très bon exemple dans un billet de D. Julot).

Pour la création d'enregistrements liés, un pense-bête.

CréerEnregLies.fmp12

Link to comment
Share on other sites

  • 0
il y a une heure, Sadlig a dit :

peut-on remplir une TE par des script?

Bien sur . Soit directement dans la TE avec la commande " aller a l'objet ( nom de la TE ) " ,Mais il faut préalablement nommée sa TE dans l'inspecteur

Soit via la table d’origine de la TE ( activer modèle x ... puis revenir ou modèle de départ )

 

Ont peu donc créé un devis ou une facture avec plusieur ligne en une fois . Soit , oui ont crée des bouton avec un script qui vas créé automatiquement plusieurs enregistrement de soins 

ex:  (nul car je suis pas dentiste :)  ) Un bouton dévitalisation , qui vas créé 3 soins , ouverture de la dent , nettoyage du nerf et rebouchage de la dent 

 

Soit ont peu aussi travailler avec un rubrique "Lier a " ou ont vas placer l'id d'un soin qui doit suivre le précédent . Qui au moment ou un soins est sélectionnée , un script (automatique via déclencheur de script ) Vérifie si il y a quel que chose dans cette rubrique . Si non fin de script , si oui prend l'id et crée un nouvelle enregistrement avec . et ainsi de suit jusque quand il y a rien dans la rubrique "Lier a"

Ce qui donne en résumée .si ont prend juste le soint A , qui fait prendre le B qui lui fait prendre le C  , Et comme la rubrique "lier a" est vide dans le soin C , le script ne ce re déclenche plus  .

 

zzznomTE.png.a23117921e11726954242bdefd6fd899.png

Link to comment
Share on other sites

  • 0

Excellent tout ca, merci à vous 2, je vais bosser dessus après Noel, mais il y a des chances que je revienne vers vous car si je comprends bien ce qu'il faut faire, le scripter est moins evident

Pour la clé magique: un excellent auto video, en anglais toutefois:

Bon Noel

 

Link to comment
Share on other sites

  • 0
Il y a 6 heures, Puimoisson04 a dit :


Pour restreindre une liste de valeurs, soit vous créez des liste de valeurs "en dur" avec les seules valeurs qui vous intéressent, soit vous utilisez des listes de valeurs conditionnelles (il y a un très bon exemple dans un billet de D. Julot).

Pour la création d'enregistrements liés, un pense-bête.

CréerEnregLies.fmp12 144 Ko · 3 downloads

Dommage, il n'y a plus de lien dans la discussion sur les listes de valeurs conditionnelles et on ne peut pas envoyer de messages à D Julot......

Merci pour le pense bête

Link to comment
Share on other sites

  • 0

Je reviens vers vous avec le script que j'ai écris car il fonctionne ( j'ai pas tout faux au moins), mais ne donne pas la bonne valeur.

Voila le formulaire dans lequel j'essaie de déposer le N° du soin de la table de soin, à l'aide d'une variable, mais il m'affiche le soin dont l'ID est 1 alors que je demande le soin dont l'ID est 31

Tous les autres paramètres liés sont corrects, ce qui m'a d'ailleurs permit de découvrir l'erreur du remboursement qui doit être de 15,96 et non pas 115,96 (erreur de frappe lors de la création)

cmem7DH.png

et voici le script: pouvez vous me dire ou j'ai faux? Je ne vois pas d'autre solution que d'entrer dans la variable la valeur de l'ID du soin que je veux recopier et de l'afficher pour contrôle (dans un 1er temps) dans mon formulaire. si l'ID est correcte, tous le reste s'affiche correctemnt

sK2Xe0k.png

Link to comment
Share on other sites

  • 0

En fait mon problème c'est que je ne sais pas comment dire par script que c'est le soin dont l'ID est 31 que je veux insérer dans la 1ere ligne de devis.

je vais chercher dans les script qui existent si je trouve une solution car a priori ma ligne ' n'est pas la bonne méthode ou alors il faut passer par la clé magique et le champ global?

Link to comment
Share on other sites

  • 0

Bonsoir,
C'est la définition de la variable qui ne va pas.

Soit vous voulez 31 (mais alors vous n'avez pas vraiment besoin de variable !) et votre ligne sera :
Définir variable [ $idsoin ; valeur : 31 ]

Soit vous voulez l'id de l'enregistrement dans lequel vous êtes et votre ligne sera :
Définir variable [ $idsoin ; Valeur Soins::Id ]

Link to comment
Share on other sites

  • 0

Excellent! Merci beaucoup

Je n'avais pas vu la subtilité, c'est ca quand on débute!

C'est la première proposition qui est la bonne et du coup, pas besoin de variable, effectivement je saute directement à la ligne 6 et dans la dernière ligne, je remplace $idsoin par 31.

Donc maintenant je n'ai plus qu'a continuer pour remplir pareillement 2 autres lignes

Link to comment
Share on other sites

  • 0

Pour passer à la ligne suivante, je ne vois pas comment faire: le script a rempli la première ligne de devis, chacune des lignes de devis est définie par sa propre id et toutes les lignes édités sont incluses dans le devis.

Donc il faut que je passe à la ligne suivante: j'essaie d'activer la ligne suivante de la table externe en me servant du script "activer rangée externe: suivante" puis nouvel enregistrement/requete, puis définir rubrique, mais ca ne fonctionne pas

 

Link to comment
Share on other sites

  • 0

S'il s'agit de créer des enregistrements dans la table externe, vérifier que la création est autorisée (option du lien).
Il suffit alors d'activer la dernière ligne de la TE et d'y renseigner une rubrique pour créer l'enregistrement. Pour créer successivement plusieurs enregistrements, on peut passer par une boucle et un compteur. 

CreerTE.fmp12

Link to comment
Share on other sites

  • 0

Merci pour tous ces petit fichiers qui sont très instructifs pour les novices

j'ai réussi a faire un script qui marche super bien, je peux enregistrer le nombre de ligne de devis nécessaire et y inscrire les valeurs de soins que je veux et donc je peux créer autant de boutons créant des devis automatique de soins prédéfinis.

Génial comme aide et vraiment nécessaire car il y a toujours un moment ou l'on bloque sur des subtilités qu'on ne connait pas quand on écrit ses premiers scripts

Du coup pas besoin de listes conditionnelles complexes????

Merci encore!!

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...