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

Base de données Service Jeunesse

Messagepar eric.falcon » 05 Juil 2013 15:33

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é 199 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 édition par eric.falcon le 09 Oct 2013 12:00, édité 3 fois.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar micmac » 05 Juil 2013 15:42

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.
Les formats ouverts (ODF) assurent la pérennité de vos documents.
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 6324
Inscrit le : 28 Août 2010 09:45

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 05 Juil 2013 17:59

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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 05 Juil 2013 19:00

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
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 05 Juil 2013 21:37

 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   AgrandirRéduire
SELECT CONCAT( `Nom`, CONCAT( ' ', `Prenom` ) ), `ID_inscrit` FROM `eric_test_jeunesse`.`Inscrits` AS `Inscrits`
Dernière édition par jeanmimi le 06 Juil 2013 13:52, édité 2 fois.
LibreOffice Version : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 05 Juil 2013 22:33

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 édition par eric.falcon le 06 Juil 2013 10:23, édité 1 fois.
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 06 Juil 2013 01:33

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
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 06 Juil 2013 07:58

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 : viewtopic.php?f=29&t=14662#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 édition par jeanmimi le 06 Juil 2013 13:53, édité 1 fois.
LibreOffice Version : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 06 Juil 2013 10:19

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
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar Piaf » 07 Juil 2013 08:46

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   AgrandirRéduire
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   AgrandirRéduire
SELECT COUNT( "ID_inscrit" ) AS "nb Inscrits" FROM "eric_test_jeunesse"."Inscrits" AS "Inscrits"
Nombre par sexe :
Code : Tout sélectionner   AgrandirRéduire
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
Piaf
GourOOu
GourOOu
 
Message(s) : 5622
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 07 Juil 2013 09:37

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
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 07 Juil 2013 09:58

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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 07 Juil 2013 11:56

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é 77 fois
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 07 Juil 2013 12:08

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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 07 Juil 2013 12:47

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
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 20 Juil 2013 20:20

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é 97 fois
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 20 Juil 2013 21:18

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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 07 Oct 2013 14:20

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é 106 fois
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 07 Oct 2013 17:27

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é 91 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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 08 Oct 2013 10:19

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
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 08 Oct 2013 16:09

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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Base de données Service Jeunesse

Messagepar eric.falcon » 08 Oct 2013 18:22

Je suis sur du MySql 5.1
Libreoffice 4.0.2.2 sous Kubuntu 13.04
eric.falcon
Membre lOOyal
Membre lOOyal
 
Message(s) : 29
Inscrit le : 04 Juil 2013 19:29

Re: Base de données Service Jeunesse

Messagepar jeanmimi » 08 Oct 2013 18:26

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 : Version: 6.3.3.2 (x64) (4 novembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15070
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte


Retour vers Projets

Qui est en ligne ?

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