Inventaire et recherche de phytothérapie familiale

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur: Vilains modOOs

Inventaire et recherche de phytothérapie familiale

Messagepar gyamotab » 07 Nov 2018 20:44

Bonjour à tous,

Je suis en train de construire une base de donnée avec les traitements de phytothérapie de la maison (huiles essentielles, macérats, teintures et plantes séchées).
L'idée générale est d'avoir une gestion des stocks (péremption, consommation) ainsi qu'une recherche facilitée pour les traitements. Usage perso mais si elle tient la route, pourquoi pas finaliser un truc propre avec aide etc.
A ajouter après, quelques écran plus informatifs (posologie, préparation des "recettes" et des teintures mères - car mis à part les huiles essentielles, tout sera fait maison autant que possible - et sources des infos).

:arrow: Deux tables principales: Inventaire et Préparations
Suite à la remarque de
Dude a écrit:A partir du moment où tu indiques "liste", il te faut des tables.
, me voilà avec les tables:
  • PRODUITS: les essences de base type flacons d'huile essentielle et boite de plantes séchées
  • PREPARATIONS: les mélanges de PRODUITS
  • RECETTES: une table contenant pour chaque index des PREPARATIONS les ingrédients et dosages
  • INVENTAIRE: liste des PRODUITS et PREPARATIONS avec date de péremption - j'ai construit la table avec l'ID issu de la table PRODUITS ou PREPARATIONS suivi d'une entrée boléenne indiquant si l'ID vient de l'une ou de l'autre. J'ai bon ou il vaut mieux faire une concatenation par exemple?
:arrow: Des tables secondaires pour les différents types de produit (huile essentielle, teinture, séché), de préparation (crême, rollup, spray, etc), le risque et une pour les unités
:arrow: Enfin, des formulaires pour remplir tout ça, chercher en multicritères, *EDIT: mettre à jour de manière dynamique - exemple: si je rentre une PREPARATION dans l'inventaire, les quantités de chaque PRODUIT sont diminuées d'autant en fonction de la RECETTE. Si j'ai plusieurs fioles de PRODUIT, si une est OUVERTE (boleen dans INVENTAIRE), c'est celle là qui est diminué, sinon la plus vieille (PEREMPTION dans INVENTAIRE) est OUVERTE.

Je m'attaque aux formulaires et rempli un peu la base...
*EDIT J'ai juste une question sur le champ UTILISATION dans les tables PRODUITS et PREPARATIONS: En l'état, ce sera sous la forme de listes... Désolé Dude :? Du coup, si je comprend bien, je dois faire également une table contenant tous les symptômes/maladies et trouver un moyen de lier plusieurs enregistrement de cette table à un produit ou préparation?

La base en question, que je mettrai à jour au fur et à mesure:
PhytHome.odb
Version 1.1a
(3.76 Kio) Téléchargé 3 fois

Je pensais créer des fils dans le forum lorsque je coince sur un problème technique, avec des liens si dessous et un rappel en entête du fil de la question à celui ci. C'est bon si je fais comme ça?
Merci d'avance à ceux qui m'aideront à finaliser ce projet :super:
Dernière édition par gyamotab le 08 Nov 2018 12:48, édité 2 fois.
OpenOffice 4.1.5 sous Windows 7
gyamotab
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 07 Nov 2018 12:44

Re: Inventaire et recherche de phytothérapie familiale

Messagepar Dude » 08 Nov 2018 08:45

Salut,

Mauvais modèle relationnel
gyamotab a écrit:Ingredients: liste A1, B2, C3
Types: liste avec a1, b2, c3
Dosages: liste aa1, bb2, cc3

A partir du moment où tu indiques "liste", il te faut des tables.
Exemple :
Un inventaire contient 1 ou N ingrédient(s)
Un ingrédient peut faire partie de 0 ou N inventaire(s)
Dans ce cas, le schéma sera :
Inventaire 1 <- N Détail_Ingrédient 0 -> N Ingrédient
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20296
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: Inventaire et recherche de phytothérapie familiale

Messagepar Bidouille » 08 Nov 2018 14:42

Bonjour,
Lorsqu'on vous apporte des réponses, ne modifiez pas votre message précédent.
Sans quoi, la logique de lecture n'est plus respectée.
Vous devez donc toujours poster à la suite en cliquant sur le bouton "Répondre".
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 9789
Inscrit le : 08 Nov 2005 17:23
Localisation : Brest, France

Re: Inventaire et recherche de phytothérapie familiale

Messagepar gyamotab » 08 Nov 2018 15:31

Bonjour,

Bidouille a écrit:Lorsqu'on vous apporte des réponses, ne modifiez pas votre message précédent.

C'est noté. Je peux conserver la position du lien et mettre à jour le fichier, ainsi que poster des liens vers les fils que j'ouvrirai sur le forum?
OpenOffice 4.1.5 sous Windows 7
gyamotab
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 07 Nov 2018 12:44

Re: Inventaire et recherche de phytothérapie familiale

Messagepar gyamotab » 10 Nov 2018 15:56

Bonjour,

Version avec les premiers formulaires:
PhytHome.odb
Version 1.2a
(26.89 Kio) Téléchargé 4 fois


Merci à Dude pour le code "Activer une source de données" qui permet de vérifier l'existance / créer une source à l'ouverture de la base.

Me voilà à bloquer sur la suite:
Dans chaque formulaire, j'ai un combo "cbRisque" qui met à jour une zone texte "cDescription" via la macro
Code : Tout sélectionner   AgrandirRéduire
Sub AfficheChamp   
   dim oDoc as object
   dim oForm as object
   dim oNom as string
   dim oRet as object

   oDoc = ThisComponent
   oForm = ThisComponent.DrawPage.Forms.GetByIndex(0)
   oNom = oForm.getByName("cbRisque").Text
   
   ' Creation d'une jeu de lignes pour la requête SQL
   oRet = createUnoService("com.sun.star.sdb.RowSet")
      oRet.DataSourceName = "DESCRIPTION"
      oRet.CommandType = com.sun.star.sdb.CommandType.COMMAND
         
      req = "SELECT Description FROM Risque WHERE Niveau = '"+ oNom + "'"
   oRet.SetPropertyValue("Command",req)

    oRet.Execute()

   if oRet.RowCount > 0 then
      oRet.next()
      oForm.getByName("cDescription").text = oRet.getString(1)
   endif
   oDoc.drawpage.forms
End Sub


Le souci est dans la ligne
Code : Tout sélectionner   AgrandirRéduire
oForm = ThisComponent.DrawPage.Forms.GetByIndex(0)

Comment pointer vers le formulaire actif sachant que j'ai "Produits" et "Preparations"? Et je viens de voir que .GetByName("Produits") ou "Preparations" au lieu de .GetByIndex() ne fonctionne pas...?

Autre questionnement:

Comment gérer au mieux les mots clé et les utilisations, qui sont pour chaque produit ou préparation de la forme:
[ophtalmie, brûlure, plaie, peau, cors, verrue, règles, inflammation digestive, foie, Lyme]
ou
[Tonique cardiaque, tension, palpitation, Trouble du rythme cardiaque, hyperthyroïdie, Hypertension, problème cardio-vasculaire,
Excitabilité nerveuse, irritabilité, insomnie, dépression, stress
Bouffée chaleur, congestion ménopause
Antispasmodique, maladie dégénérative]

Deux autres tables à rajouter? Mais je ne vois pas comment la construire car chaque terme va avoir un nombre très variable d'ID de produit ou de préparation. Je sais pas si je suis très clair?
OpenOffice 4.1.5 sous Windows 7
gyamotab
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 07 Nov 2018 12:44

Re: Inventaire et recherche de phytothérapie familiale

Messagepar Piaf » 10 Nov 2018 20:28

Bonjour
gyamotab a écrit:Dans chaque formulaire, j'ai un combo "cbRisque" qui met à jour une zone texte "cDescription" via la macro
Quel est l'intérêt d'une macro dans ce cas ?
Liste.png
gyamotab a écrit:Autre questionnement:
Relations.png
A+
Pièces jointes
PhytHome.odb
(29.86 Kio) Téléchargé 5 fois
Libre Office Version: 6.0.7 et Apache OpenOffice 4.1.5 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5426
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane


Retour vers Projets

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 20 invité(s)