Base de données Service Jeunesse

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

Modérateur : Vilains modOOs

Répondre
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Base de données Service Jeunesse

Message par eric.falcon »

Bonjour
J’ai créé une base de donnée pour le service Jeunesse dont je m’occupe.
Cette base est une base MySQL car multi utilisateurs et multisites.

Je cherche à l’améliorer mais je ne sais pas faire ou je ne parviens pas à le faire.

Dans le formulaire 02 Form.Jeune :
  • - j’aimerai qu’en sélectionnant le responsable légal, se remplissent automatiquement les champs adresse, code postal, ville, téléphones et emails
    - j’aimerai que le champs Nom_prenom se concatene directement et s’enregistre dans la table Inscrits.
    - j’aimerai que lorsqu’on met oui à sortie accompagnée les champs par qui et téléphone apparaissent, idem pour le champs Allergie/maladie/Handicap
Dans le formulaire 03 Form.Activite
  • – j’aimerai que le nombre de champs d’inscrits corresponde au nombre de place indiquée
    – j’aimerai que lorsque l’on inscrit un jeune le système vérifie directement s’il correspond à la tranche d’âge indiquée
    – j’aimerai que le nombre d’inscrit et de présents se calcule automatiquement, ainsi que le nombre de fille et de garçon, ainsi que le nombre de Meudonnais et de forestois.
    – j’aimerai que lorsqu’on va sur la case tarif, le formulaire propose la liste des tarifs existants
Dans le formulaire 04 Form.paiements
  • – j’aimerai que lorsqu’on séléctionne une activité la date de cette activité apparaisse directement
    – j’aimerai que lorsqu’on sélectionne le responsable légal, il ne soit proposé que ses enfants

Vous trouverez le fichier odb ici
basejeunessetest.odb
(138.38 Kio) Téléchargé 289 fois
Le mot de passe utilisateur est : test.

Pour ceux qui souhaitent la structure de la base merci de la demander en MP
Merci si vous pouvez m’aider à améliorer.
Dernière modification par eric.falcon le 09 oct. 2013 13:00, modifié 3 fois.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9224
Inscription : 28 août 2010 10:45

Re: Base de données Service Jeunesse

Message par micmac »

Bonjour et bienvenue,

Votre sujet comportant plusieurs question, nous l'avons déplacé en section "Projets".

Vous avez illustré votre question avec un fichier en provenance d'un site tiers.
Or, souvent ces sites n'assurent aucune pérennité sur les données qu'ils hébergent.

Nous préférerions que vous utilisiez notre service de pièce-jointe dont le lien est mentionné en bas lorsque vous écrivez votre message : http://user.services.openoffice.org/fr/ ... forum.html

Veuillez corriger votre message en utilisant le bouton "EDITER" (situé à droite) et en mettant en ligne votre fichier correctement.

Vous en remerciant par avance.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Bonjor,
Les éléments de ta base ne sont pas visibles, il n'est donc pas possible de t'aider.
Pièces jointes
base_jeunesse.jpg
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Le nom d'utilisateur est : test

Je peux envoyer en MP le lien d'accès au fichier sql
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

 Ajout : Après avoir réussi à connecter ta base test : 
Comme il y a pas mal de questions,
- j’aimerai que le champs Nom_prenom se concatene directement
pour concaténer, ce code SQL fonctionne :

Code : Tout sélectionner

SELECT CONCAT( `Nom`, CONCAT( ' ', `Prenom` ) ), `ID_inscrit` FROM `eric_test_jeunesse`.`Inscrits` AS `Inscrits`
Dernière modification par jeanmimi le 06 juil. 2013 14:52, modifié 2 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Merci !
Ca marche super bien.
Je ne parvenais pas à bien écrire cette commande CONCAT.
Y a-t-il moyen pour que la requete n'affiche que le resulat de cette personne ?
Dernière modification par eric.falcon le 06 juil. 2013 11:23, modifié 1 fois.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Le modérateur a écrit : :alerte: Merci de ne pas poster plusieurs messages à la suite.
Si vous devez ajouter un complément d'information, les boutons "EDITER" à la droite du message + "ajout" permettent d'y remédier.
Y a-t-il moyen que la requête n'affiche que le résultat de seulement cette personne ?
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Oui,bien sûr.
Mais pour cela, il faut que le résultat de cette personne sélectionnée soit affiché dans un sous-formulaire.
Le principe est expliqué dans le forum ici : http://forum.openoffice.org/fr/forum/vi ... 662#p81393
j’aimerai que lorsqu’on met oui à sortie accompagnée les champs par qui et téléphone apparaissent, idem pour le champs Allergie/maladie/Handicap
C'est possible, mais demande une Macro. Deux solutions possibles : afficher le sous-formulaire en fonction du clic, ou l'afficher dans une section Maquée/Affichée en fonction de l'état du contrôle.
Dans le formulaire 03 Form.Activite
– j’aimerai que le nombre de champs d’inscrits corresponde au nombre de place indiquée
C'est possible avec une Macro qui récupère la valeur et génère ensuite le nombre de contrôles correspondant.
 Ajout : 
j’aimerai que le nombre d’inscrit et de présents se calcule automatiquement, ainsi que le nombre de fille et de garçon, ainsi que le nombre de Meudonnais et de forestois.
Ce type de calcul se réalise dans des requêtes et n'est pas à enregistrer dans une Table. 
Dernière modification par jeanmimi le 06 juil. 2013 14:53, modifié 1 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Je me disais bien que c'était possible mais je n'ai jamais fait de macro de toute ma vie.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Base de données Service Jeunesse

Message par Piaf »

Bonjour,
jeanmimi a écrit :Ce type de calcul se réalise dans des requêtes et n'est pas à enregistrer dans une Table.
+1 :)
C'est également le cas pour la concaténation des champs Nom, Prénom et de l'âge ...

Code : Tout sélectionner

 SELECT * ,(YEAR(CURRENT_DATE)-YEAR('date de naissance')) - (RIGHT(CURRENT_DATE,5)<RIGHT('date de naissance',5)) AS 'Age',CONCAT(CONCAT('Nom',' '),'Prenom') AS 'Nom Prenom' FROM "eric_test_jeunesse"."Inscrits" AS "Inscrits"
entre autres.
Nombre d'inscrits :

Code : Tout sélectionner

SELECT COUNT( "ID_inscrit" ) AS "nb Inscrits" FROM "eric_test_jeunesse"."Inscrits" AS "Inscrits"
Nombre par sexe :

Code : Tout sélectionner

SELECT "Sexe", COUNT( "Sexe" ) FROM "eric_test_jeunesse"."Inscrits" AS "Inscrits" GROUP BY "Sexe"
Même type de requête pour le nombre par ville.

Pourquoi ne pas lier la table Inscrit et la table parent ?
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Bonjour Piaf
Merci de ta réponse.

En fait je ne parviens pas à faire les liens table parents, table inscrits. Chaque fois que j'essaye de faire des relations entre table ça m'indique que ce n'est pas possible et je ne parvient pas à savoir pourquoi. Il me semble avoir créer les différents index nécessaires et avoir mis les mêmes types de champs dans les deux tables.

En y réflechissant mieux. Il me semble nécessaire de créer trois types de formulaires différents
# Pour la création
* de parents
* d'enfant
* d'activité
* d'animateur
* de paiement
# Pour la consultation
des mêmes items avec formulaire de recherche.
# Pour la modification
des mêmes item

Pour les calculs, il me semble que les formules que tu me donnes m'indiqueront le nombre total d'inscrit, ce que j'aimerai c'est ces calculs pour chacune des activités.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Pour les relations entre Tables, il faudrait un id commun pour les relier, par exemple, dans la table Inscrits, un id_parents.
Quant à la table Inscrits, elle contient inutilement des informations déjà présentes dans la table Parents.
Pièces jointes
Relation_entre_Parents_et_Inscrits.jpg
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

J'ai effectué les changements (ajouter l'ID_parents dans la table inscrits et enlever les renseignements en double), créé un début de formulaire d'accès aux formulaires et créé un formulaire de consultation parents.
Il me semble avoir créé la relation entre les deux ID_parents mais je n'en suis pas sur car je ne vois pas le trait les uniant.

Je joins un nouvel exemplaire du fichier
Pièces jointes
basejeunessetest.odb
(156.56 Kio) Téléchargé 162 fois
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Dans ta nouvelle Base, cette relation est possible mais elle copie des données en double dans 2 tables :
Relation_entre_Parents_et_Inscrits.jpg
Mais je n'ai pas vu de champ ID_parent dans la table Inscrits.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

jeanmimi a écrit :Dans ta nouvelle Base, cette relation est possible mais elle copie des données en double dans 2 tables :
Relation_entre_Parents_et_Inscrits.jpg
Mais je n'ai pas vu de champ ID_parent dans la table Inscrits.
Le champ ID_parents se situe entre déplacement hors paris et autorisation sms
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Voici la base dans son état actuel. J'ai reçu de l'aide et ça commence à être pas mal mais il y a quelques erreurs
Pièces jointes
basejeunessetest_avec_Macros.odb
(144.38 Kio) Téléchargé 197 fois
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Il y a des tables non conformes, comme celle qui se nomme activite
et des requêtes qui plantent parce que les noms des champs peuvent poser problème pour être interprétés, comme les é, ç, '
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Bonjour
Mon projet avance mais il y a encore quelque points sur lesquels je bloque.

Dans le formulaire Activité.
Comment faire pour qu'en fonction du nombre de place pour l'activité, les inscrits au-delà de ce nombre apparaissent grisés afin qu'il soit visiblement en liste d'attente ?
Est-il possible qu'en fonction de l'utilisateur (actuellement il y a 5 utilisateurs avec mots de passe ayant accès à la base : moi, la responsable du service et un par structure) qui inscrit le jeune la couleur de police change (genre noir, rouge, bleu, orange, violet)

Dans le formulaire Inscrit
Je souhaiterais que l'âge soit calculé en fonction de la date de naissance et de la date du jour.

Dans les formulaires Activité, Parent et Inscrit
J'aimerai faire un bouton qui permette de filtrer les enregistrement en fonction des critères entrés.

Menu Général
Je souhaiterais que celui-ci s'ouvre dés que l'on ferme un formulaire ou un rapport.

Globalement j'aimerai aussi que mes formulaires 0, 1, 2, 21, 22, 23, 24, 25, 26 s'affichent plus sous forme de messagebox.

Enfin j'aimerais inclure de la gestion d'erreur.

Merci de votre aide.
Pièces jointes
basejeunessetest (3).odb
BASE JEUNESSE
(314.87 Kio) Téléchargé 192 fois
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Je vois que ton projet avance bien.
Tes dernières questions ont été traitées dans le forum. Elles demandent soit des commandes SQL soit des codes de Macros facilement adaptables.
Base avec calcul de l'âge.odb
(12.5 Kio) Téléchargé 175 fois
La plus "originale" est celle de la couleur selon la personne qui saisit car il n'y a pas d'exemple à ma connaissance.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Merci Jeanmimi
J'ai bien vu l'existence de cette base pour la calcul de l'âge et tous les sujets sur le forum qui en parle mais à chaque fois j'ai une erreur de code, il ne connait pas le code datediff. C'est sans doute du au fait que ma base est multiutilisateurs sur MySql.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Sur cette page : https://dev.mysql.com/doc/refman/5.0/fr ... tions.html
il est indiqué :
DATEDIFF() est disponible depuis MySQL 4.1.1.
Ta version de MySQL est-elle à ce niveau ?
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
eric.falcon
Membre lOOyal
Membre lOOyal
Messages : 29
Inscription : 04 juil. 2013 20:29

Re: Base de données Service Jeunesse

Message par eric.falcon »

Je suis sur du MySql 5.1
Libreoffice 4.0.2.2 sous Kubuntu 13.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Message par jeanmimi »

Donc DATEDIFF devrait être actif.
Pour les couleurs selon les utilisateurs, tu devrais poser la question en section Macro du forum, puis réintégrer la réponse dans ton Projet.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Répondre