Gestion des Heures de vacation du personnel
Modérateur : Vilains modOOs
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17219
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Gestion des Heures de vacation du personnel
Est-ce qu'un rapport qui ressemblerait à l'exemple te permettrait de mieux suivre les reliquat des heures ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Tout d'abord Merci jeanmimi de t'intéresser de prés à ce projet
Dans la pratique ce rapport ne me sera pas utile dans cette forme ( trop de répétition des noms et des activités) il faudrait pouvoir faire des regroupements ( par activités) mais il m'intéresse dans la mesure ou le calcul à l'air de se faire correctement et dans la forme (car je peux faire des bordures plus facilement)
Questions:
Comment as tu fait ce rapport: SRB ou publipostage dans un page writer
Peut on selon le principe utilisé faire les rapports que j'ai fabriqué avec SRB (DeclarationHeure, SuiviMensuel, etc) car j'y gagnerai peut être en amélioration visuelle (bordure, différence dans les traits, que sais- je encore
Cet après midi j'ai essayé au boulot de faire un rapport de synthèse pour l'année selon ce modele Mais impossible
Je n'arrive pas à filtrer les noms des activités pour éviter qu'elles se répètent ni à faire une somme par activité et par mois
(j'ai essayé plusieurs requêtes en filtrant le mois, en groupant les activités et en faisant la somme des heures mais message d'erreur)
Je me demande si je dois pas éclaté mes tables (TableAnnee, TableMois, TableActivité, TableVacataire, TablePeriode) et lié tout ça
@+
La dernier mouture
Dans la pratique ce rapport ne me sera pas utile dans cette forme ( trop de répétition des noms et des activités) il faudrait pouvoir faire des regroupements ( par activités) mais il m'intéresse dans la mesure ou le calcul à l'air de se faire correctement et dans la forme (car je peux faire des bordures plus facilement)
Questions:
Comment as tu fait ce rapport: SRB ou publipostage dans un page writer
Peut on selon le principe utilisé faire les rapports que j'ai fabriqué avec SRB (DeclarationHeure, SuiviMensuel, etc) car j'y gagnerai peut être en amélioration visuelle (bordure, différence dans les traits, que sais- je encore
Cet après midi j'ai essayé au boulot de faire un rapport de synthèse pour l'année selon ce modele Mais impossible
Je n'arrive pas à filtrer les noms des activités pour éviter qu'elles se répètent ni à faire une somme par activité et par mois
(j'ai essayé plusieurs requêtes en filtrant le mois, en groupant les activités et en faisant la somme des heures mais message d'erreur)
Je me demande si je dois pas éclaté mes tables (TableAnnee, TableMois, TableActivité, TableVacataire, TablePeriode) et lié tout ça
@+
La dernier mouture
Fichier supprimer voir en fin de post la nouvelle version
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Sanseau le 28 nov. 2008 16:28, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17219
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Gestion des Heures de vacation du personnel
Tout d'abord, j'ai utilisé une fonctionnalité de OOo. Cela consiste à ouvrir un fichier OOo Calc, puis faire F4 et connecter la Base de données.Comment as tu fait ce rapport: SRB ou publipostage dans un page writer
Toutes les tables et requêtes s'affichent. En sélectionnant les enregistrements, puis en cliquant sur l'icône Données dans le texte, les enregistrements sont transférés dans OOo Calc, où ils peuvent être traités (ex calculs). C'est ce que j'ai fait pour calculer 5900-heures. Ensuite il faut tout copier dans la Base de données en créant une nouvelle Table. (comme la Base dépasse le poids autorisé sur ce forum, je n'ai pas pu la mettre en ligne).
Ensuite, pour travailler un rapport créé par le SRB, il suffit de le sauvegarder en dehors de la Base par Enregistrer sous ... (c'est ce document que je t'ai joints). Après, tu peux modifier la mise en forme selon tes gouts (et ta patience).
Je ne pense pas qu'il faut multiplier les tables. Par contre, tu peux créer des requêtes selon tes besoins : année, mois, etc ... ou par vacataire, ou par LIKE: sur le nom d'un vacataire, etc ...
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
J' essayé les requetes
J'en ai fait une basée sur la "VueTotal" avec "Mois" Like, "Activite" groupe, "Heures" Somme
J'obtiens ce message d'erreur
et une page blanche
????
J'en ai fait une basée sur la "VueTotal" avec "Mois" Like, "Activite" groupe, "Heures" Somme
J'obtiens ce message d'erreur
Code : Tout sélectionner
Statut SQL: 37000
Code d'erreur: -67
Not in aggregate function or group by clause: org.hsqldb.Expression@c5e9c in statement [SELECT "Activite", SUM( "Heures" ), "Mois" FROM "VueTotal" WHERE "Mois" LIKE :Recherche GROUP BY "Activite"]????
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17219
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Gestion des Heures de vacation du personnel
Oui, apparemment ce n'est pas possible (à moins que ça se fasse en mode SQL : il faudrait faire une recherche sur la commande SORT ou GROUP ).
Maintenant, si c'est juste pour avoir la liste par activité, il est possible de lancer le filtre sur cette colonne.
Par contre, si tu fais un Rapport à partir de cette requête, tu pourras faire un groupement.
Maintenant, si c'est juste pour avoir la liste par activité, il est possible de lancer le filtre sur cette colonne.
Par contre, si tu fais un Rapport à partir de cette requête, tu pourras faire un groupement.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Helas non
il me faut le total d'heure pour chaque activité et par Mois
Ex Janvier GEA 6 heures etc
En plus faut que j'arrive à les positionner comme sur la Photo exemple style tableur
Plus dur
@+
Pour les possibilité sql ben je vais chercher
il me faut le total d'heure pour chaque activité et par Mois
Ex Janvier GEA 6 heures etc
En plus faut que j'arrive à les positionner comme sur la Photo exemple style tableur
Plus dur
@+
Pour les possibilité sql ben je vais chercher
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Eureka
J'ai trouvé une astuce grâce à un post sur Calc
http://user.services.openoffice.org/fr/ ... 17&t=11129
Les pilotes de données mais bien sur une fois ma base renseignée je peux faire le tableau de synthèse sous calc en utilisant les pilotes de donnée après je soigne un peu la présentation et ça roule
Merci Pierre-Yves Samyn
pour le coup de main a son insu
sur ce bonne nuit
J'ai trouvé une astuce grâce à un post sur Calc
http://user.services.openoffice.org/fr/ ... 17&t=11129
Les pilotes de données mais bien sur une fois ma base renseignée je peux faire le tableau de synthèse sous calc en utilisant les pilotes de donnée après je soigne un peu la présentation et ça roule
Merci Pierre-Yves Samyn
pour le coup de main a son insu
sur ce bonne nuit
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:29, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonjour à tous
Le problème du jour
Pour pouvoir extraire correctement des données de base vers calc pour une utilisation en pilotes de données j'ai crée une vue qui me permet de traiter les données par Année et par Mois pris dans le champ "DateDebut" ça fonctionne bien mais je n'arrive pas à francisé le nom des Mois
Le code Sql "MONTHNAME" récupère bien le nom du Mois par rapport au numéro du Mois dans le champ "DateDebut" mais il me le sort en anglais (january, etc..)
Comment arrivé au même résultat mais en français ?????????
(Je précise que mes paramètres linguistique sont en français bien sur)
Merci pour le coup de pouce
Le problème du jour
Pour pouvoir extraire correctement des données de base vers calc pour une utilisation en pilotes de données j'ai crée une vue qui me permet de traiter les données par Année et par Mois pris dans le champ "DateDebut" ça fonctionne bien mais je n'arrive pas à francisé le nom des Mois
Code : Tout sélectionner
SELECT "IdPeriode", "DateDebut", "DateFin", "Heures", "Activite", YEAR( "DateDebut" ) AS "Annee", MONTHNAME( "DateDebut" ) FROM "TablePeriode"Comment arrivé au même résultat mais en français ?????????
(Je précise que mes paramètres linguistique sont en français bien sur)
Merci pour le coup de pouce
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:30, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonjour,
En utilisant ma base je me suis aperçu d'un manque d'ergonomie dans l'utilisation
Explication : pour créer un enregistrement dans mon formulaire je dois
1 rentrer l'année
2 rentrer le mois
3 rentrer les renseignement sur le vacataire
4 rentrer l'activité
5 rentrer les périodes concernées
Cela est un répétitif car
l'année ne change que tous les ans , le mois que tous les mois, les vacataires sont bien souvent les mêmes de mois en mois, l'activité est répétitive par rapport au vacataire
En fait seul les périodes varient
Donc j'aimerai que dans mon formulaire je puisse sélectionner l'année pour tous les enregistrement, même chose pour le mois, choisir le vacataire concerné ainsi que l'activité et enfin ne remplir que les périodes
J'ai regardé du coté des tutos concernant Merise mais j'ai rien compris
Une image du résultat que je voudrais faire Le fichier joint
Merci pour votre aide
En utilisant ma base je me suis aperçu d'un manque d'ergonomie dans l'utilisation
Explication : pour créer un enregistrement dans mon formulaire je dois
1 rentrer l'année
2 rentrer le mois
3 rentrer les renseignement sur le vacataire
4 rentrer l'activité
5 rentrer les périodes concernées
Cela est un répétitif car
l'année ne change que tous les ans , le mois que tous les mois, les vacataires sont bien souvent les mêmes de mois en mois, l'activité est répétitive par rapport au vacataire
En fait seul les périodes varient
Donc j'aimerai que dans mon formulaire je puisse sélectionner l'année pour tous les enregistrement, même chose pour le mois, choisir le vacataire concerné ainsi que l'activité et enfin ne remplir que les périodes
J'ai regardé du coté des tutos concernant Merise mais j'ai rien compris
Une image du résultat que je voudrais faire Le fichier joint
Merci pour votre aide
Fichier supprimer voir en fin de post la nouvelle version
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Sanseau le 28 nov. 2008 16:30, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonsoir
Je viens préciser ma démarche et vous tenir au courant de mes maigres progrès
La démarche que je voudrais faire c'est :
Créer des fiches Vacations reprenant les renseignements suivi
La date de paiement (Anne Mois NumMois)
La personne concernée (Nom, Prenom, Fonction)
Les périodes de travail (Activite, dateDebut, DateFin, Heures)
Pour cela j'ai crée 3 tables
TableVacations (reprenant Annee, Mois, numMois idVacataire, IdPeriode) de manière à lier les données entre elles
TableVacataire pour gérer les personnes (souvent les même)
TablePeriode pour mettre les périodes à payer
Un formulaire faisant apparaitre tous les champs à renseigner
Mais j'aimerai faciliter la saisie en permettant de renseigner la date de paiement pour le traitement en cour
en mettant des champs textfield afin de n'avoir pas à ressaisir pour chaque personne cette date (elle reste fixe pour le mois de traitement)
et aussi en remplissant par le biais de la concaténation dans une listbox les champs nom prenom fonction automatiquement
de manière à sélectionner la personne en un seul clique
puis pour terminer saisir les périodes de travail
et que toutes ces données soient récupérée pour créer la fiche de vacation
En fait lorsque la personne va traiter les vacations elle aura une dizaine de personne à traiter pour le même mois, donc j'aimerai qu'après avoir choisi l'année et le mois pour la première personne en faisant un nouvel enregistrement pour passer au traitement de la deuxième personne l'année et le mois ne change pas (pour éviter d'avoir à les resélectionner) mais qu'a la fin du traitement de la fiche ces données soit enregistrées avec le reste (IdVacataire et IdPeriode) de manière à lier tout ça dans une fiche vacation
Exemple:
Vacation 1
2008 Janvier 1 ====> Mois de traitement (idVacation table Vacation)
Panel jean docteur ===> Données du vacataire (idVacataire table vacataire)
01/01/08 30/01/08 contrat 82h =====> Donnée de la période de travail(idPeriode table periode)
Vacation 2
2008 Janvier 1 ====> Mois de traitement que j'aimerais éviter d'avoir à sélectionner à chaque fois mais qui doit genérer un nouvel Id pour ne pas mélanger les données avec celle de la 1er fiche
Vinel suzanne Prof de gym ====> Donnée vacataire
01/01/08 30/01/08 contrat 41h ====> Donnée période travail
10/12/07 30/12/07 entrainement 12h ====> Donnée période travail
ETC....
C'est pour ça que j'ai fait 3 tables 1 pour les vacataires 1 pour les périodes 1 pour les vacations liant le vacataire à sa période
et pouvant être traiter dans des états mois par mois
J'espère avoir été plus clair sur mes intentions et le résultat que j'essaye d'obtenir
Mes base d'essais
Merci à ceux qui s'intéresseront à ce post
@+
Je viens préciser ma démarche et vous tenir au courant de mes maigres progrès
La démarche que je voudrais faire c'est :
Créer des fiches Vacations reprenant les renseignements suivi
La date de paiement (Anne Mois NumMois)
La personne concernée (Nom, Prenom, Fonction)
Les périodes de travail (Activite, dateDebut, DateFin, Heures)
Pour cela j'ai crée 3 tables
TableVacations (reprenant Annee, Mois, numMois idVacataire, IdPeriode) de manière à lier les données entre elles
TableVacataire pour gérer les personnes (souvent les même)
TablePeriode pour mettre les périodes à payer
Un formulaire faisant apparaitre tous les champs à renseigner
Mais j'aimerai faciliter la saisie en permettant de renseigner la date de paiement pour le traitement en cour
en mettant des champs textfield afin de n'avoir pas à ressaisir pour chaque personne cette date (elle reste fixe pour le mois de traitement)
et aussi en remplissant par le biais de la concaténation dans une listbox les champs nom prenom fonction automatiquement
de manière à sélectionner la personne en un seul clique
puis pour terminer saisir les périodes de travail
et que toutes ces données soient récupérée pour créer la fiche de vacation
En fait lorsque la personne va traiter les vacations elle aura une dizaine de personne à traiter pour le même mois, donc j'aimerai qu'après avoir choisi l'année et le mois pour la première personne en faisant un nouvel enregistrement pour passer au traitement de la deuxième personne l'année et le mois ne change pas (pour éviter d'avoir à les resélectionner) mais qu'a la fin du traitement de la fiche ces données soit enregistrées avec le reste (IdVacataire et IdPeriode) de manière à lier tout ça dans une fiche vacation
Exemple:
Vacation 1
2008 Janvier 1 ====> Mois de traitement (idVacation table Vacation)
Panel jean docteur ===> Données du vacataire (idVacataire table vacataire)
01/01/08 30/01/08 contrat 82h =====> Donnée de la période de travail(idPeriode table periode)
Vacation 2
2008 Janvier 1 ====> Mois de traitement que j'aimerais éviter d'avoir à sélectionner à chaque fois mais qui doit genérer un nouvel Id pour ne pas mélanger les données avec celle de la 1er fiche
Vinel suzanne Prof de gym ====> Donnée vacataire
01/01/08 30/01/08 contrat 41h ====> Donnée période travail
10/12/07 30/12/07 entrainement 12h ====> Donnée période travail
ETC....
C'est pour ça que j'ai fait 3 tables 1 pour les vacataires 1 pour les périodes 1 pour les vacations liant le vacataire à sa période
et pouvant être traiter dans des états mois par mois
J'espère avoir été plus clair sur mes intentions et le résultat que j'essaye d'obtenir
Mes base d'essais
Merci à ceux qui s'intéresseront à ce post
@+
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:32, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonsoir
Ma base a bien avancé
J'ai réussi après divers essaies à obtenir ce que je voulais à quelque détails près
Je bute encore sur certains trucs dans le FormulaireEnregistrementVacation
1er Focus automatique sur la ListBox Annee que ce soit à l'ouverture du FormulaireEnregistrementVacation ou après avoir déclenché le bouton Nouvel Enregistrement
2ème Le passage du champ NumMois dans le formulaire MainForm de ce formulaire au champ NomPrenom du formulaire Vacation (voir le fléchage)
il s'agit d'automatiser le passage d'un formulaire (MainForm) à un formulaire (Vacation) situé dans le même formulaire (FormulaireEnregistrementVacation)
J'aimerai en me servant de la tabulation pouvoir passer d'un champ situé dans MainForm à un champ situé dans Vacation
j'ai essayé la macro de PYS (PysAller)
Mais cela ne fonctionne pas
La macro donne de bon résultat pour passer d'un formulaire classique à un sous formulaire datagrid (passage champ NomPrenom vers sous formulaire colonne Activite
mais pas dans le cas d'un formulaire à un autre formulaire
si je dois changé quelque chose je ne vois pas quoi
Pouvez vous m'aider
D'avance Merci
Ci joint le fichier Base à tester ( Pouvez vous tester et me donner votre avis sur l'ergonomie, d'éventuel défaut ou erreur)
Ma base a bien avancé
J'ai réussi après divers essaies à obtenir ce que je voulais à quelque détails près
Je bute encore sur certains trucs dans le FormulaireEnregistrementVacation
1er Focus automatique sur la ListBox Annee que ce soit à l'ouverture du FormulaireEnregistrementVacation ou après avoir déclenché le bouton Nouvel Enregistrement
2ème Le passage du champ NumMois dans le formulaire MainForm de ce formulaire au champ NomPrenom du formulaire Vacation (voir le fléchage)
il s'agit d'automatiser le passage d'un formulaire (MainForm) à un formulaire (Vacation) situé dans le même formulaire (FormulaireEnregistrementVacation)
J'aimerai en me servant de la tabulation pouvoir passer d'un champ situé dans MainForm à un champ situé dans Vacation
j'ai essayé la macro de PYS (PysAller)
Code : Tout sélectionner
'Passage du formulaire au sous formulaire
option explicit
global PysTrouve as boolean, PysCtrlTrouve as object 'Utilisées pour la recherche du contrôle "destination"
'---------------------------------------------------------------------------------
sub PysChercherCtrl(PysCherche as string, PysObj as object)
'---------------------------------------------------------------------------------
' Recherche d'après son nom un contrôle dans l'objet passé en paramètre
' Procédure récursive
' PysCherche : nom du contrôle recherché
' PysObj : Objet dans lequel chercher (1ère fois : thiscomponent.drawPage.forms)
'---------------------------------------------------------------------------------
dim PysEnCours as object, PysTrav, i as integer
i = 0
while i <= PysObj.count -1 and PysTrouve <> true 'boucle sur tous les contrôles, arrêt si on a trouvé
PysEnCours = PysObj.getByIndex(i)
if PysEnCours.name = PysCherche then 'on a trouvé => mise à jour des variables globales
PysCtrlTrouve = PysEnCours
PysTrouve = true
exit sub
else 'Appel récursif si le contrôle en cours est un formulaire ou un contrôle Table
'Utilise Instr et non supportService car bug sur datagrid
if InStr(1, PysEnCours.DBG_SupportedInterfaces, "com.sun.star.comp.forms.ODatabaseForm") > 0 or _
InStr(1, PysEnCours.DBG_SupportedInterfaces, "com.sun.star.comp.forms.OGridControlModel") > 0 then
PysTrav=PysChercherCtrl(PysCherche, PysEnCours)
end if
end if
i = i +1
wend
end sub
'------------------------------------------------------------------------------------
Sub PysAllerA(PysEvt)
'------------------------------------------------------------------------------------
' Positionne le curseur dans le champ indiqué en propriété "Complément d'information"
' Appelée "sur perte de focus" d'un contrôle de formulaire
' PysEvt : transmis automatiquement par OOo
'------------------------------------------------------------------------------------
dim PysParent as object, PysVue as object, PysEnum as object, PysUneCol as object
dim PysCol(0) as string, PysNomCtrl as string, i as integer
PysNomCtrl=PysEvt.source.Model.Tag 'Accès à la propriété "Complément d'information"
PysTrouve =false 'Initialisation de variables pour la recherche du contrôle
PysCtrlTrouve=nothing
'Vérifie que le nom indiqué en "Complément d'information" est celui d'un contrôle
PysChercherCtrl(PysNomCtrl, thiscomponent.drawPage.forms)
if isnull(PysCtrlTrouve) then
msgbox "Contrôle " & PysNomCtrl & " non trouvé", 32
else
PysParent = PysCtrlTrouve.parent 'Représente le parent du contrôle trouvé
'Si le contrôle est dans un "contrôle table" le focus est différent
if InStr(1, PysParent.DBG_SupportedInterfaces, "com.sun.star.comp.forms.OGridControlModel") > 0 then
PysVue=thiscomponent.currentcontroller.getcontrol(PysParent) 'Accès au contrôle table "parent"
PysVue.setfocus 'Focus sur ce contrôle table
PysEnum = PysVue.model.createEnumeration 'Récupère la liste des colonnes
i = -1
do while PysEnum.hasMoreElements 'Met cette liste dans un tableau
i=i+1
redim preserve PysCol(i)
PysUneCol = PysEnum.nextElement
PysCol(i) = PysUneCol.name
loop
for i = 0 to ubound(PysCol) 'Boucle sur cette liste pour positionner le focus dans la bonne colonne
if PysCol(i)= PysNomCtrl then
PysVue.CurrentColumnPosition = i
exit for
end if
next i
else 'Le contrôle cherché n'est pas dans un contrôle de table, focus direct dessus
on error goto PysAllerA_Erreur
thisComponent.CurrentController.getControl(PysCtrlTrouve).setFocus 'Focus sur ce contrôle
end if
end if
PysAllerA_Exit:
exit sub
PysAllerA_Erreur:
msgbox "Ne peut atteindre le contrôle " & PysNomCtrl
resume PysAllerA_Exit
end subLa macro donne de bon résultat pour passer d'un formulaire classique à un sous formulaire datagrid (passage champ NomPrenom vers sous formulaire colonne Activite
mais pas dans le cas d'un formulaire à un autre formulaire
si je dois changé quelque chose je ne vois pas quoi
Pouvez vous m'aider
D'avance Merci
Ci joint le fichier Base à tester ( Pouvez vous tester et me donner votre avis sur l'ergonomie, d'éventuel défaut ou erreur)
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:32, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonsoir
J 'ai trouvé la macro n'était pas en cause
l'erreur (du moins je suppose ) c'est d'avoir créer ces champs sans étiquette
Donc j'ai mis des étiquettes je les ai rattaché avec ces champs et tout fonctionne impeccablement
Maintenant il me reste un dernier soucis concernant les rapports avec srb 1.02
Dans le rapport DeclarationHeurePersonnelVacataire j'ai voulu intégrer le Mois et l'Année en bas dans le pied de page dans un cadre comme je l'avais déjà fait en haut (c'est répétitif mais tant pis)
Donc j'ai fait un copier coller mais qu'en j'exécute le rapport en haut ça va (le mois et l'année sont bien affiché) alors que dans le pied de page j'ai des 0
un autre soucis plus mineur ce rapport étant basé sur une requête à son lancement au doit renseigner l' année et le mois voulu pour filtrer les données Hors malgré un paramétrage pour le mois en Varchar ignorecase dans la table lorsque le rapport s'affiche je m'aperçois que le nom du mois qui s'affiche est celui qui a été rentré dans la boite de dialogue ( si on écrit mars on obtiens mars dans le rapport alors que les données inscrites dans la table ont une majuscule en 1er lettre Mars)
De même si dans la boite de dialogue je rentre fevrier le rapport est vide si je rentre février les données du mois février apparaisse dans le rapport
Quelqu'un a une idée à me soumettre
d'avance merci
@+
Edit
Apres avoir testé
Sous windows avec OpenOffice 2.4.1 et SRB 1.02 Probleme de zéro dans le pied de page à la place du mois et de l'année et le nom du mois en haut 1er lettre en miniscule si taper en minuscule dans la boite de dialogue précédent l'affichage du rapport
Sous mandriva avec OpenOffice 2.4.1 et SRB 1.02 Meme probleme
Par contre Sous windows avec OpenOffice 3.0. et SRB 1.05 Pas de probleme de zéro dans le pied de page j'ai bien le nom du mois et l'année qui s'affiche par contre j'ai toujours le probleme du texte taper dans la boite de dialogue de la requete repris dans le champ du rapport
Probleme constaté par d'autre
J 'ai trouvé la macro n'était pas en cause
l'erreur (du moins je suppose ) c'est d'avoir créer ces champs sans étiquette
Donc j'ai mis des étiquettes je les ai rattaché avec ces champs et tout fonctionne impeccablement
Maintenant il me reste un dernier soucis concernant les rapports avec srb 1.02
Dans le rapport DeclarationHeurePersonnelVacataire j'ai voulu intégrer le Mois et l'Année en bas dans le pied de page dans un cadre comme je l'avais déjà fait en haut (c'est répétitif mais tant pis)
Donc j'ai fait un copier coller mais qu'en j'exécute le rapport en haut ça va (le mois et l'année sont bien affiché) alors que dans le pied de page j'ai des 0
un autre soucis plus mineur ce rapport étant basé sur une requête à son lancement au doit renseigner l' année et le mois voulu pour filtrer les données Hors malgré un paramétrage pour le mois en Varchar ignorecase dans la table lorsque le rapport s'affiche je m'aperçois que le nom du mois qui s'affiche est celui qui a été rentré dans la boite de dialogue ( si on écrit mars on obtiens mars dans le rapport alors que les données inscrites dans la table ont une majuscule en 1er lettre Mars)
De même si dans la boite de dialogue je rentre fevrier le rapport est vide si je rentre février les données du mois février apparaisse dans le rapport
Quelqu'un a une idée à me soumettre
d'avance merci
@+
Edit
Apres avoir testé
Sous windows avec OpenOffice 2.4.1 et SRB 1.02 Probleme de zéro dans le pied de page à la place du mois et de l'année et le nom du mois en haut 1er lettre en miniscule si taper en minuscule dans la boite de dialogue précédent l'affichage du rapport
Sous mandriva avec OpenOffice 2.4.1 et SRB 1.02 Meme probleme
Par contre Sous windows avec OpenOffice 3.0. et SRB 1.05 Pas de probleme de zéro dans le pied de page j'ai bien le nom du mois et l'année qui s'affiche par contre j'ai toujours le probleme du texte taper dans la boite de dialogue de la requete repris dans le champ du rapport
Probleme constaté par d'autre
de jeanmimi le 17 Oct 2008 13:44
Mon expérience rejoint en partie ce que tu décris.
Lorsque je crée un rapport basé sur une requête où je dois renseigner, par exemple une ville, le rapport reprend intégralement la façon dont j'ai tapé le nom de la ville. Et si j'encadre quelques lettres par les %, dans les tests que j'ai pu faire avec SRB 1.0.2, c'est ce que j'aurai tapé qui sera repris dans le rapport.
Le champ IGNORECASE permet d'entrer les noms en minuscules ou majuscules et comme tu le notes, les caractères accentuées ne sont pas gérés
Fichier supprimer voir en fin de post la nouvelle version
Dernière modification par Sanseau le 28 nov. 2008 16:33, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonsoir
Je reviens à la charge dans ce projet car :
1er) Je n'ai toujours pas trouver de solution pour la problématique des Années et Mois dans les pieds de pages
2ème) Je cherche toujours une solution pour arriver à produire un pilote de données (ou équivalent) à l'intérieur de base soit sous forme de rapport soit sous forme de formulaire (avec ou sans macro) car la solution d'un fichier calc bien que satisfaisante n'est pas parfaite, il faut actualiser à chaque fois que l'on change des données ou recréer les liens si le fichier a été déplacé
Donc si il existe une solution interne à Base je suis preneur
Ou
Si cette possibilité vous semble intéressante peut on demander son implémentation dans une future version
Je reviens à la charge dans ce projet car :
1er) Je n'ai toujours pas trouver de solution pour la problématique des Années et Mois dans les pieds de pages
2ème) Je cherche toujours une solution pour arriver à produire un pilote de données (ou équivalent) à l'intérieur de base soit sous forme de rapport soit sous forme de formulaire (avec ou sans macro) car la solution d'un fichier calc bien que satisfaisante n'est pas parfaite, il faut actualiser à chaque fois que l'on change des données ou recréer les liens si le fichier a été déplacé
Donc si il existe une solution interne à Base je suis preneur
Ou
Si cette possibilité vous semble intéressante peut on demander son implémentation dans une future version
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
DLE
- HédOOniste

- Messages : 1516
- Inscription : 30 déc. 2007 18:56
- Localisation : Lille
Re: Gestion des Heures de vacation du personnel
Bonjour Sanseau,
J'ai peut-être une solution pour le point N°1 :
Pour ce faire il faut :
Dans la requête "requête_TableVacataire" supprimer le critère (:Mois) du champ "Mois" de la table "TableVacation"
puis affecter au champ "NumMois" de la table "TableVacation", le critère " :NuméroMois".
Concernant le dataPilot sous Base, pourrais-tu préciser ce que tu veux faire.
A+
J'ai peut-être une solution pour le point N°1 :
Au lieu de demander le mois en lettre, pourquoi ne pas demander le N° du mois, ce dernier faisant partie de la table, de sorte qu'il n' a plus de problème de lettre accentuée ni de majuscule, on prend le nom tel qu'il se trouve dans la base.1er) Je n'ai toujours pas trouver de solution pour la problématique des Années et Mois dans les pieds de pages
Pour ce faire il faut :
Dans la requête "requête_TableVacataire" supprimer le critère (:Mois) du champ "Mois" de la table "TableVacation"
puis affecter au champ "NumMois" de la table "TableVacation", le critère " :NuméroMois".
Concernant le dataPilot sous Base, pourrais-tu préciser ce que tu veux faire.
A+
MacOS Tahoe 26.3.1 (iMac-M4) : AOO 4.1.16 , LibreOffice 25.8.6.2, Adoptium-temurinJDK 1.8.0_402, CCC, FireFox, Thunderbird, ORB 1.2.1
Parallels Desktop = Windows 11 & MacOS : AOO, Libre Office.
Parallels Desktop = Windows 11 & MacOS : AOO, Libre Office.
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Hello DLE
Toujours sur la brèche
J'ai mis un post sur la gestion congé (un petit soucis de présentation)
Pour la question de la date je vais tester si en appelant le numéro le mois s'affiche en toute lettre (je n'avais pas pensé à cette solution
1) Actualiser si des données ont été enregistrées dans la base (ce qui peux poser problème si la base a été déplacée)
2)Ensuite la présentation n'étant pas parfaite dans le pilote de données (les nom de mois était en anglais et classer par un ordre alphabétique j'ai du prendre les numéro mais dans la présentation c'est moyen) Donc j'ai fait un onglet ou je dois copier les lignes du pilote mois par mois pour avoir une présentation correct
Donc si je pouvais par le biais d'un rapport ou d'un formulaire reproduire le processus d'un pilote de donnée je pourrais résoudre c'est 2 problemes
Fichiers joints
Toujours sur la brèche
J'ai mis un post sur la gestion congé (un petit soucis de présentation)
Pour la question de la date je vais tester si en appelant le numéro le mois s'affiche en toute lettre (je n'avais pas pensé à cette solution
En ce qui concerne le datapilot j'ai besoin d'extraire les données pour faire un tableau croisée (pilote de donnée pour calc) donc j'en ai fait un "TableauSynthesevacation" mais pour pouvoir l'exploiter correctement il faut procéder en plusieurs étapeAprès test cette solution est viable mais reste que ce n'est pas normal que OOo reprenne le nom rentré dans la requête plutôt que le nom enregistré dans le champ
1) Actualiser si des données ont été enregistrées dans la base (ce qui peux poser problème si la base a été déplacée)
2)Ensuite la présentation n'étant pas parfaite dans le pilote de données (les nom de mois était en anglais et classer par un ordre alphabétique j'ai du prendre les numéro mais dans la présentation c'est moyen) Donc j'ai fait un onglet ou je dois copier les lignes du pilote mois par mois pour avoir une présentation correct
Donc si je pouvais par le biais d'un rapport ou d'un formulaire reproduire le processus d'un pilote de donnée je pourrais résoudre c'est 2 problemes
Fichiers joints
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonsoir
Je butes sur la manière de concevoir une requête me permettant de calculer un reliquat
Pour les vacations j'ai un nombre d'heure annuel (5900) je dois calculer en partant de ce nombre le nouveau reliquat en soustrayant le mois traité et le mois suivant me servir du reliquat calculer pour soustraire le nouveau mois et recalculer ainsi le nouveau reliquat qui servira pour le mois d'après et ainsi de suite ces reliquats devant être intégrés dans les rapports
Exemple: Nombre de départ 5900
total heures janvier 58 nouveau reliquat 5900-58=5842
total heures février 42 nouveau reliquat 5842-42=5800
etc
J'ai fais des essais dans la base en créant une vue "VueTHP" puis des requêtes pour faire des calculs progressifs (dégressif) et une requête Relicat mais je n'obtiens pas le résultat souhaité soit avec la version initial (basé avec les Mois) le comptage repart à 5900 à chaque Mois, soit avec la version "b" (sans les Mois) le dégressif ce fait bien mais je ne peux plus trié par Mois
Au secours
@+
Je butes sur la manière de concevoir une requête me permettant de calculer un reliquat
Pour les vacations j'ai un nombre d'heure annuel (5900) je dois calculer en partant de ce nombre le nouveau reliquat en soustrayant le mois traité et le mois suivant me servir du reliquat calculer pour soustraire le nouveau mois et recalculer ainsi le nouveau reliquat qui servira pour le mois d'après et ainsi de suite ces reliquats devant être intégrés dans les rapports
Exemple: Nombre de départ 5900
total heures janvier 58 nouveau reliquat 5900-58=5842
total heures février 42 nouveau reliquat 5842-42=5800
etc
J'ai fais des essais dans la base en créant une vue "VueTHP" puis des requêtes pour faire des calculs progressifs (dégressif) et une requête Relicat mais je n'obtiens pas le résultat souhaité soit avec la version initial (basé avec les Mois) le comptage repart à 5900 à chaque Mois, soit avec la version "b" (sans les Mois) le dégressif ce fait bien mais je ne peux plus trié par Mois
Au secours
@+
Bon je viens de me faire gronder par Bidouille qui me dis de ne pas mettre plusieurs post à la suite (bien que je trouve qu'il y a une différence entre les 2 ) mais j'exécutes
Bonsoir
J'ai réussi à trouver le calcul d'après mes premiers test ça fonctionne un seul bémol je n'ai pas le premier calcul sur le mois de janvier (aucun reliquat )
J'ai greffé ces reliquats sur les rapports en changeant la requête
Il me reste plus qu' à trouver comment faire un pilote de donnée dans un rapport (ou dans la base) et j'aurais fini (quoique on peut tenter de faire des bulletins de salaire )
J'aimerais un retour de la communauté sur ce projet avis et commentaires (idées à soumettre, rectifications, amélioration)
Merci à tous
@+
La nouvelle Mouture
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Sanseau le 28 nov. 2008 16:52, modifié 1 fois.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonsoir
J'ai des soucis avec ma base
Dés que je la rempli de données j'ai des problèmes avec les rapports qui bloquent ou ferment la base
(surtout celui-ci "SuiviMensuelHeurePersonnelParSecteur")
Je ne vois pas d'où cela peut provenir car quand la base est vide je n'ai aucun plantage à l'ouverture des rapports
Un œil expert serait le bienvenu pour me dire d'où vient le problème
PS mes excuses au Modérateur pour poster des messages à la suite mais pour poster les fichiers je ne pouvais pas supprimer ou en rajouter d'autre au message précédent Merci de votre compréhension
@+
J'ai des soucis avec ma base
Dés que je la rempli de données j'ai des problèmes avec les rapports qui bloquent ou ferment la base
(surtout celui-ci "SuiviMensuelHeurePersonnelParSecteur")
Je ne vois pas d'où cela peut provenir car quand la base est vide je n'ai aucun plantage à l'ouverture des rapports
Un œil expert serait le bienvenu pour me dire d'où vient le problème
MerciVoila le message d'erreur que j'obtiens certaine fois quand j'exécute le rapport en mode modification
Le SRB utilisé est le 1.0.5Code : Tout sélectionner
Statut SQL: S1000 Une erreur est survenue pendant la création du rapport. Une exception de type com.sun.star.lang.WrappedTargetException est survenue. caught a com.sun.star.report.ReportExecutionException
PS mes excuses au Modérateur pour poster des messages à la suite mais pour poster les fichiers je ne pouvais pas supprimer ou en rajouter d'autre au message précédent Merci de votre compréhension
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
DLE
- HédOOniste

- Messages : 1516
- Inscription : 30 déc. 2007 18:56
- Localisation : Lille
Re: Gestion des Heures de vacation du personnel
Hello,
Dans ma configuration je n'ai plus de problème, j'ai fait les modifs ci-après :
1) j'ai supprimé puis recréer le champ "Date de Début", car en testant par suppression des champs j'ai constaté qu'après suppression de ce dernier le rapport était créé. Au départ , je pensais que les blancs et/ou lettres accentuées pouvaient poser problème, j'ai donc renommé ce champ en "DatedeDebut", mais apparemment c'est pas ça, j'ai laissé en l'état.
2) le Total Heures par section était faux, j'ai modifié dans l'arbo. Activite/grouper le pied de page/TotalHeures comme le montre la copie écran ci-dessous.
http://user.services.openoffice.org/fr/ ... ew&id=3832
Je joins aussi la base mise à jour.
A+
Dans ma configuration je n'ai plus de problème, j'ai fait les modifs ci-après :
1) j'ai supprimé puis recréer le champ "Date de Début", car en testant par suppression des champs j'ai constaté qu'après suppression de ce dernier le rapport était créé. Au départ , je pensais que les blancs et/ou lettres accentuées pouvaient poser problème, j'ai donc renommé ce champ en "DatedeDebut", mais apparemment c'est pas ça, j'ai laissé en l'état.
2) le Total Heures par section était faux, j'ai modifié dans l'arbo. Activite/grouper le pied de page/TotalHeures comme le montre la copie écran ci-dessous.
http://user.services.openoffice.org/fr/ ... ew&id=3832
Je joins aussi la base mise à jour.
A+
MacOS Tahoe 26.3.1 (iMac-M4) : AOO 4.1.16 , LibreOffice 25.8.6.2, Adoptium-temurinJDK 1.8.0_402, CCC, FireFox, Thunderbird, ORB 1.2.1
Parallels Desktop = Windows 11 & MacOS : AOO, Libre Office.
Parallels Desktop = Windows 11 & MacOS : AOO, Libre Office.
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Hello
DLE
N'aurais tu pas oublié quelque chose par hasard
DLE
N'aurais tu pas oublié quelque chose par hasard
Je ne comprends pas c'est exactement la démarche que j'ai fait mais chez moi ça plante toujours (Pour le calcul je parle, je n'ai pas supprimer le champ date debut) je vais essayer en le supprimant puis en le remettant on verraExcuse j'avais mal vu au dessus de l'image
Par contre je viens de faire la manœuvre de supprimer le champ date debut puis de le remettre et devine plantage
J'ai essayé ton fichier mais toujours le même problème, plantage et fermeture de la base , ou message d'erreur en mode Modification (le même message)![]()
![]()
@+Edit du 17/12
Après quelque tâtonnement je penses avoir trouvé l'explication
En modifiant, dans la requête servant de référence au rapport, les noms des champs qui avaient des espaces ou des caractères accentués pour les rendre plus conforme je n'ai plus de plantage (je touche du bois) sauf pour un rapport le suiviparsecteur qui ne voulait rien savoir et que j'ai du refaire complètement
Je joint la base modifié
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10
-
Sanseau
- Membre cOOnfirmé

- Messages : 280
- Inscription : 13 juin 2008 10:14
Re: Gestion des Heures de vacation du personnel
Bonjour
Grâce à DLE la base vacations a fait une avancée très pratique dans l'exploitation des données et surtout dans la création du tableau de synthèse
Celui ci n'est plus obtenu par actualisation du tableau croisée dynamique (fichier calc) et modification du tableau de présentation mais par remplissage d'un tableau de présentation par macro en passant par la création d'une table de dépôt
L'opération (et la macro) se passe sur le formulaire Menu général
Merci à DLE pour sa grande contribution au forum et surtout à mes projets
Ci joint la nouvel mouture de la base ainsi que le fichier calc
Il faut que la base soit enregistrée dans les options de oOo et que le fichier calc soit dans le même répertoire que la base
Bonne journée à tous
@+
Ps pardon aux modérateurs d'avoir posté un nouveau message mais s'agissant d'une nouvelle mouture du projet je n'allais pas éditer un ancien post
Grâce à DLE la base vacations a fait une avancée très pratique dans l'exploitation des données et surtout dans la création du tableau de synthèse
Celui ci n'est plus obtenu par actualisation du tableau croisée dynamique (fichier calc) et modification du tableau de présentation mais par remplissage d'un tableau de présentation par macro en passant par la création d'une table de dépôt
L'opération (et la macro) se passe sur le formulaire Menu général
Merci à DLE pour sa grande contribution au forum et surtout à mes projets
Ci joint la nouvel mouture de la base ainsi que le fichier calc
Il faut que la base soit enregistrée dans les options de oOo et que le fichier calc soit dans le même répertoire que la base
Bonne journée à tous
@+
Ps pardon aux modérateurs d'avoir posté un nouveau message mais s'agissant d'une nouvelle mouture du projet je n'allais pas éditer un ancien post
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 ORB 1.2.1
Windows 10
Windows 10