[Résolu] Form versus boite de dialogue ...

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
gelinp
Membre OOrganisé
Membre OOrganisé
Messages : 58
Inscription : 12 mars 2011 21:40

[Résolu] Form versus boite de dialogue ...

Message par gelinp »


La modération vous a écrit: Sujet déplacé en section Base de données car non conforme à la définition que nous donnons à la récupération de documents stricto sensu.

Bonjour,

Les boites de dialogue ne proposent pas de contrôles "Data Aware", c'est à dire qu'ils ne sont pas connectables aux requêtes ou tables. Il semble donc plus intéressant d'utiliser une Form à la place d'une boite de dialogue dès lors que l'on souhaite une telle connexion. Mais pour cela il faudrait pouvoir donner l'apparence d'une boite de dialogue à l'ouverture de la Form, en supprimant simplement le menu et les barres d'outils, en la positionnant éventuellement au centre de l'écran et en gérant sa dimension dès l'ouverture... Il peut être aussi intéressant pour gérer une application avec de nombreuses Forms d'ouvrir certaines directement en mode plein écran, ce que ne semble pas permettre la macro LoadComponentFromURL. Le Dispatcher permet lui, de basculer effectivement en FullScreen, mais je comprends qu'il faudrait ouvrir la Form de manière invisible, la basculer avec le dispatcher en mode Fullscreen et attendre qu'un signal notifie la fin de ce chargement avant de rendre visible la Form ... Un exemple de code existerait-t-il ?

Par ailleurs, dans un autre post en 2016 il est mentionné une procédure sans macros... Mais cela ne remplace pas vraiment une macro qui pourrait ouvrir en plein écran quelque soit l'état de la dernière sauvegarde, ce qui peut s'avérer intéressant, sinon je comrpends qu'il faudrait protéger la modification des positions et tailles des Forms ... Cette procédure indique qu'il faudrait donc simplement ouvrir ma Form en édition, basculer en plein écran et sauvegarder à la fois la Form et la base. Ok... Mais ma Form étant en plein écran je n'est pas accès au Menu Fichier de celle-ci... Et lorsque ma Form est ouverte en plein écran j'ai bien accès au menu [Fichier > Tout enregistrer] mais j'obtiens alors à la sauvegarde l'erreur suivante : "Erreur lors de l'enregistrement du document : Cet objet n'existe pas. Le chemin du fichier n'existe pas." Comme je développe ma base j'ai récupéré de nombreuses fois mon document, et je me demande s'il est vraiment en bon état .... Est-ce donc un problème lié à la procédure de récupération automatique ? Que faire alors ?

Merci pour votre aide ...
Patrick
Dernière modification par micmac le 01 déc. 2018 17:36, modifié 4 fois.
Raison : Ajout de [Résolu]
LibreOffice Version 7.4.6.2
Utilisation sur plusieurs systèmes d'exploitation (nomadisme sous windows et Linux)
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9203
Inscription : 28 août 2010 10:45

Re: Form versus boite de dialogue ...

Message par micmac »

Bonjour,
[b][color=#404080]gelinp[/color][/b] a écrit :Ma configuration LibreOffice :
Version: 5.2.7.2
Build ID: 1:5.2.7-1+deb9u4
Threads CPU : 2; Version de l'OS :Linux 4.9; UI Render : par défaut; VCL : gtk2;
Locale : fr-FR (fr_FR.UTF-8); Calc: group
informations à donner plus succinctement dans
votre signature où il y a écrit :LibreOffice 3.5.7.2 Windows XP
tout en vous faisant remarquer que votre version de LibO est obsolète.
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable 6.0.6.

Dans votre signature il est nécessaire d'indiquer :
1- La version exacte de LibO (LibO 6.0.6 par exemple et "obligation de version" si c'est la cas) ;
2- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, MacOS 10.13.6, Ubuntu 18.04, par exemple).
Accès direct à votre signature pour la corriger.
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Form versus boite de dialogue ...

Message par Piaf »

Bonjour
gelinp a écrit :Mais cela ne remplace pas vraiment une macro qui pourrait ouvrir en plein écran quelque soit l'état de la dernière sauvegarde
Un peu de lecture peut-être [Base] Maximiser un formulaire
Pour ce qui est du masquage des barres d'outils ou des menus faire une petite recherche toggleToolbars par exemple.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
gelinp
Membre OOrganisé
Membre OOrganisé
Messages : 58
Inscription : 12 mars 2011 21:40

Re: Form versus boite de dialogue ...

Message par gelinp »

J'utilise la même version que me propose mon employeur car je ne peux pas exiger qu'il utilise une version plus récente. Cela me garantit simplement que mes macros fonctionneront ...

Maintenant j'ajoute que la bibliothèque Access2Base avec sa fonction DoCmd ne semble pas proposer d'avantage pour gérer l'ouverture des Forms. L'objectif poursuivit par son éditeur, de réduire le nombre de macros en se basant sur le modèle de Microsoft Access est séduisant mais là encore je rajoute un composant donc un problème de compatibilité, et je précise que chez mon employeur les PCs sont réinitialisés chaque soir, donc cela résinstall les librairies et composants de base de LIbreOffice ...

Aussi je trouve la valeur ajouté de copier Microsoft Access limitée, et Access2BAse n'apporte rien de plus pour gérer l'ouverture des Forms, ni même aucune approche de type Smart Forms ... Je note seulement une micro simulation de formulaire intelligent à la p. 753 dans Programmation OpenOffice.org 3de Bernard Marcelly chez Eyrolles. Finalement les fonctionnalités de programmation à l'aide de macros Basic sont trop limitées pour eséprer développer rapidement quelques chose de fonctionnel. Le générateur de rapport est aussi beaucoup trop simpliste, je ne comprends pas comment exploiter ma base, alors j'utilise Jaspersoft...

A ce besoin de formulaire intelligent il faudrait proposer un des boites de dialogues avec des contrôles Data Aware et préférer au modèle de Microsoft Access un projet de framework Base qui pourrait se baser plutôt sur [ble Domain-Driven Design...[/b] Voir pour cela des livres comme :

  • Fowler, Martin - Rice, David - Foemmel, Matthew -- Patterns of Entreprise Application Architecture -- Addison-Wesley, 2003 - ISBN 0-321-12742-0
  • Millet, Scott - Tune, Nick -- Patterns, Principles, and Practices of Domain-Driven Design -- WiIley, 2015 -- ISBN 978-1-118-71470-6


Que savons nous des orientations prochaines de Libre Office Base ? Est-ce que le schéma que je dessine ci-dessus est une direction possible ?

Test avec la dernière version de LibreOffice pour ma distribution Debian 32 bits :
Version: 6.1.2.1
Build ID: 65905a128db06ba48db947242809d14d3f9a93fe
Threads CPU : 2; OS : Linux 4.9; UI Render : par défaut; VCL: gtk2;
Locale : fr-FR (fr_FR.UTF-8); Calc: group threaded


Cette fois l'appel au menu de "Enregistrer tout" donne une raison plus claire de l'erreur, mais rien de mieux au final pour pour mon projet :
"Erreur lors de l'enregistrement du document : Cette opération n'est pas prise en charge par ce système d'exploitation."

Donc je cherche toujours une solution Macro Basic pour ouvrir un formulaire en plein écran ...
Sinon ouvrir un formulaire aux dimensions que je veux avec suppression de la barre de menu ...

Patrick
Dernière modification par gelinp le 01 nov. 2018 15:04, modifié 1 fois.
LibreOffice Version 7.4.6.2
Utilisation sur plusieurs systèmes d'exploitation (nomadisme sous windows et Linux)
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9203
Inscription : 28 août 2010 10:45

Re: Form versus boite de dialogue ...

Message par micmac »

gelinp a écrit :version que me propose mon employeur
Alors ajoutez obligation de version dans votre signature SVP. Merci.
Cela vous évitera de recevoir cet avertissement à chaque passage.
gelinp
Membre OOrganisé
Membre OOrganisé
Messages : 58
Inscription : 12 mars 2011 21:40

Re: Form versus boite de dialogue ...

Message par gelinp »

Il y avait une autre raison de mon obligation de version, c'était que la version 6.1 RC1 provoquait systématiquement un crash à l'ouverture des formulaires base. Je constate aujourd'hui qu'avec la version RC2 ce n'est plus le cas. Je vais donc tester cette dernière version un peu plus longtemps et j'actualise donc maintenant ma signature avec celle-ci.
Merci tout de même pour votre consigne, elle me servira peut être à nouveau si je dois à nouveau bloquer une version.
Désolé pour les lecteurs du thread qui n'ont rien a faire de ce message, il faudrait plutôt communiquer ce type de remarque sur messagerie privée du forum, mais je vous répond sur le canal de votre question...
LibreOffice Version 7.4.6.2
Utilisation sur plusieurs systèmes d'exploitation (nomadisme sous windows et Linux)
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25124
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Form versus boite de dialogue ...

Message par Dude »

Salut,

Fondamentalement, il n'y a pas de différence : une "DialogBox" et une "Window" sont très similaires d'un point de vue codage.
Un dialogue reste cependant une fenêtre simplifiée prévue pour demander ou paramétrer des informations.
A la différence d'une fenêtre de type formulaire, un dialogue est modal.
gelinp a écrit :c'était que la version 6.1 RC1 provoquait systématiquement un crash
Relis le 1er message du modérateur, la version en question est expérimentale.
gelinp a écrit :Donc je cherche toujours une solution Macro Basic pour ouvrir un formulaire en plein écran
Il me semble que Piaf t'a donné un lien qui répond à cela.
Si cela pose problème, poste une nouvelle question dans la section Macro en fournissant un ODB.
Répondre