[Résolu][Base] variable environnement Windows dans rapport

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Base] variable environnement Windows dans rapport

Messagepar Kilin » 19 Avr 2018 18:54

Bonjour à tous,

Est il possible de récupérer les variables d'environnement Windows aux fins de les afficher sur un rapport de base ?
Ces valeurs en particulier: COMPUTERNAME, PROCESSOR_IDENTIFIER, USERNAME, USERPROFILE

Merci pour votre aide !

Bonne soirée,
Dernière édition par Kilin le 21 Avr 2018 09:42, édité 1 fois.
LibreOffice Version: 5.4.6.2 (x64)
Windows 10
Kilin
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 59
Inscrit le : 22 Mars 2018 00:14

Re: [Base] variable environnement Windows dans rapport

Messagepar jeanmimi » 19 Avr 2018 19:37

Bonjour,
Je ne sais pas si tu as fait une recherche dans le forum, mais j'y ai vu quelques ressources, à adapter dans ton cas.
Pièces jointes
Macro pour lister les variables d'environnement.odt
(32.04 Kio) Téléchargé 13 fois
LibreOffice Version: 6.1.0.3 (x64) (11 août 2018)
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) : 14435
Inscrit le : 03 Mars 2006 17:02
Localisation : Niort et sa Venise verte

Re: [Base] variable environnement Windows dans rapport

Messagepar Kilin » 19 Avr 2018 19:44

Merci pour votre réponse !

Mais comment appeler une macro dans un rapport ? Je sais le faire dans un formulaire mais je n'ai pas vu comment faire dans le rapport...

Bonne soirée
LibreOffice Version: 5.4.6.2 (x64)
Windows 10
Kilin
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 59
Inscrit le : 22 Mars 2018 00:14

Re: [Base] variable environnement Windows dans rapport

Messagepar jeanmimi » 20 Avr 2018 07:57

Kilin a écrit:Mais comment appeler une macro dans un rapport ?
Ce qui peut être testé : sauvegarder le Rapport en dehors de la Base, puis activer la Macro par un raccourci clavier par exemple.
LibreOffice Version: 6.1.0.3 (x64) (11 août 2018)
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) : 14435
Inscrit le : 03 Mars 2006 17:02
Localisation : Niort et sa Venise verte

Re: [Base] variable environnement Windows dans rapport

Messagepar Dude » 20 Avr 2018 12:22

Tu n'as qu'à mettre tes variables dans une table. Tu pourras ensuite les intégrer où tu veux.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20142
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Base] variable environnement Windows dans rapport

Messagepar Kilin » 20 Avr 2018 18:52

Bonjour,

Merci pour tous vos conseils !
J'ai progressé dans ma recherche avec cette partie de code qui récupère les informations de mon formulaire pour générer un rapport.
Je stocke ma variable d'environnement windows dans une deuxième table.
Mon soucis c'est que mon rapport est généré avec une seule table et que ma variable d'environnement est dans une deuxième table.

Est il possible de récupérer la valeur que j'ai stocké dans ma deuxième table pour l'appeler dans mon rapport ? Si oui comment adapter ma macro ?

Code : Tout sélectionner   AgrandirRéduire
Sub OuvrirConvoc(oEv as Object)
Dim oForm as object, oRapport as Object
Dim FiltreNom as String, matricule as string, identite as String

Dim oConnexion as Object, maRequete as Object
Dim strSQL as String

matricule = environ("USERNAME")

   if matricule = "0001714" then
      identite = "Monsieur VERT"
   elseif matricule = "0001715" then
      identite = "Monsieur ROUGE"
   else
      identite ="inconnu"
   end if

   oConnexion = thisDatabaseDocument.CurrentController.ActiveConnection
   maRequete = oConnexion.createStatement()

   strSQL = "UPDATE ""UTILISATEUR"" SET  ""USER"" = '" & identite & "'"
   maRequete.executeupdate(strSQL)

   oForm = oEv.Source.Model.Parent
   FiltreNom = oForm.Columns.getByName("tab_NOM").getString
   oRapport = ThisDatabaseDocument.ReportDocuments.getByName("Convocation").openDesign
   With oRapport
      .Filter="""tab_NOM"" ='" & FiltreNom & "'"
   End With
   With ThisDatabaseDocument.ReportDocuments.getByName("Convocation")
      .Store
      .Close
      .Open
   End With
End Sub


Merci pour vos lumières !!
LibreOffice Version: 5.4.6.2 (x64)
Windows 10
Kilin
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 59
Inscrit le : 22 Mars 2018 00:14

Re: [Base] variable environnement Windows dans rapport

Messagepar Dude » 20 Avr 2018 19:04

Kilin a écrit:Mon soucis c'est que mon rapport est généré avec une seule table et que ma variable d'environnement est dans une deuxième table.

Tu devrais revoir les concepts de base de données et de modèle relationnel.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20142
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Base] variable environnement Windows dans rapport

Messagepar jeanmimi » 20 Avr 2018 19:41

Si les deux Tables peuvent être mises en Relation, une requête pourrait alors être créée puis être utilisée pour faire le Rapport.
LibreOffice Version: 6.1.0.3 (x64) (11 août 2018)
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) : 14435
Inscrit le : 03 Mars 2006 17:02
Localisation : Niort et sa Venise verte

Re: [Base] variable environnement Windows dans rapport

Messagepar Kilin » 20 Avr 2018 20:29

Dude a écrit:
Kilin a écrit:Mon soucis c'est que mon rapport est généré avec une seule table et que ma variable d'environnement est dans une deuxième table.

Tu devrais revoir les concepts de base de données et de modèle relationnel.


Mes tables sont déjà en relation, j'arrive a les mettre a jour en cascade et récupérer les données en cascade dans mes formulaires, mais de ce que j'ai cru comprendre le rapport ne récupère les valeurs que d'une table ?

J'ai bien pensé a rajouter une colonne dans ma table principale, mais est ce que c'est la seule solution, alourdir la base de donnée pour un champ que je ne récupère que dans la génération du rapport ?

Si vous faites référence à autre chose je suis désolé mais je suis novice -++ et je ne saisis pas toutes les subtilités ...
LibreOffice Version: 5.4.6.2 (x64)
Windows 10
Kilin
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 59
Inscrit le : 22 Mars 2018 00:14

Re: [Base] variable environnement Windows dans rapport

Messagepar jeanmimi » 20 Avr 2018 20:41

As-tu testé de créer une requête pour faire le Rapport ?
https://wiki.openoffice.org/wiki/FR/FAQ ... on_requise
Dernière édition par jeanmimi le 20 Avr 2018 20:44, édité 1 fois.
LibreOffice Version: 6.1.0.3 (x64) (11 août 2018)
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) : 14435
Inscrit le : 03 Mars 2006 17:02
Localisation : Niort et sa Venise verte

Re: [Base] variable environnement Windows dans rapport

Messagepar Kilin » 20 Avr 2018 20:44

jeanmimi a écrit:As-tu testé de créer une requête pour faire le Rapport ?


Oui j'ai testé mais je ne sais pas comment appeler deux tables !
LibreOffice Version: 5.4.6.2 (x64)
Windows 10
Kilin
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 59
Inscrit le : 22 Mars 2018 00:14

Re: [Base] variable environnement Windows dans rapport

Messagepar jeanmimi » 21 Avr 2018 08:41

Puisque tes Tables sont en Relation, dans l'Assistant de Requête, tu ajoutes ces Tables, puis tu sélectionnes les champs que tu veux ensuite afficher dans ton Rapport comme dans cet exemple.
Pièces jointes
Requête avec deux Tables en Relation.jpg
Dernière édition par jeanmimi le 21 Avr 2018 11:16, édité 1 fois.
LibreOffice Version: 6.1.0.3 (x64) (11 août 2018)
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) : 14435
Inscrit le : 03 Mars 2006 17:02
Localisation : Niort et sa Venise verte

Re: [Base] variable environnement Windows dans rapport

Messagepar Kilin » 21 Avr 2018 09:42

Bonjour Jeanmimi,

J'ai généré mon rapport a partir d'une requête sur deux tables comme vous le suggériez, le résultat est conforme à mes attentes, je vous remercie beaucoup !!

Bon week-end !
LibreOffice Version: 5.4.6.2 (x64)
Windows 10
Kilin
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 59
Inscrit le : 22 Mars 2018 00:14


Retour vers Macros et API

Qui est en ligne ?

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