[Résolu] [Base] ne pas activer le mode édition sur affichage liste

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 !
wormsf
Membre hOOnoraire
Membre hOOnoraire
Messages : 184
Inscription : 02 janv. 2008 16:15

[Résolu] [Base] ne pas activer le mode édition sur affichage liste

Message par wormsf »

Bonjour
dans une base odb, j'ai un formulaire qui permet de modifier une table
lorsque je clique sur le formulaire, une macro permet de visualiser la liste des enregistrements , au dessus du formulaire
mais la liste est visualisée en mode édition, donc chaque champ de la liste peut être effacé ou modifié ,ce qui est dangereux

est il possible dans la macro de forcer l'ouverture mode édition desactivé ?
Capture d’écran du 2025-08-12 11-30-45.png
la macro

Code : Tout sélectionner

sub affiche_donnees
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:ViewFormAsGrid", "", 0, Array())
end sub
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par wormsf le 20 août 2025 18:36, modifié 1 fois.
Version: 25.8.4.2 (X86_64) / LibreOffice Community
System: Distro: Linux Mint 22.3
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26200
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] ne pas activer le mode édition sur affichage liste

Message par Dude »

Salut,

Ton code est le résultat de l'enregistreur (dispatcher) de macro.
Il faut abandonner cette méthode de travail qui ne te mènera qu'à une impasse avec Base.
Détecter le mode édition/ébauche d'un formulaire a été discuté ici :
viewtopic.php?t=68152&hilit=base+formul ... 3%A9dition
wormsf
Membre hOOnoraire
Membre hOOnoraire
Messages : 184
Inscription : 02 janv. 2008 16:15

Re: [Base] ne pas activer le mode édition sur affichage liste

Message par wormsf »

Dude
effectivement j'utilise l'enregistreur de macro pour développer les macro
mes connaissances en macro ne me permettent pas de partir de 0 et tout programmer
J'ai essayé la macro MasquebarreOutils proposée dans le post,

Mais la liste des enregistrements n'apparait pas,
Capture d’écran du 2025-08-14 09-58-30.png
Je voudrais la voir, avec le mode edition désactivé
Capture d’écran du 2025-08-14 10-10-13.png
au lieu de
Capture d’écran du 2025-08-14 10-10-29.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version: 25.8.4.2 (X86_64) / LibreOffice Community
System: Distro: Linux Mint 22.3
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26200
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] ne pas activer le mode édition sur affichage liste

Message par Dude »

Ce que tu affiches est la barre d'outils "Source de données" qui sert pour le publipostage.
Pourquoi n'utilises-tu pas les contrôles table et barre de navigation ?
wormsf
Membre hOOnoraire
Membre hOOnoraire
Messages : 184
Inscription : 02 janv. 2008 16:15

Re: [Base] ne pas activer le mode édition sur affichage liste

Message par wormsf »

Dude

je ne sais pas comment éviter la visualisation de la barre qui apparait avec la liste des enregistrements

Un rectificatif : la macro qui fait aparaitre la liste des enregistrements avec sa barre d'outils, n'a pas été obtenu avec l'enregistreur de macro mais c'est une macro que j'ai trouvée sur https://ask.libreoffice.org/t/view-data ... mand/58080
çà ne fait qu'automatiser l'action du bouton dans la ligne de contrôle en bas de l'écran
Capture d’écran du 2025-08-18 11-34-56.png
Merci pour tes remarques,
Je pense que je vais marquer le sujet comme clos,
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version: 25.8.4.2 (X86_64) / LibreOffice Community
System: Distro: Linux Mint 22.3