[Issue][Base] Cacher une zone de texte

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 !
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

[Issue][Base] Cacher une zone de texte

Message par Xilex »

Bonjour!

Je voudrais cacher une zone de texte a 'louverture de mon formulaire... est-ce possible ?
Dernière modification par Xilex le 28 mai 2009 07:47, modifié 3 fois.
Open Office 3.1
Windows XP Pro
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Cacher une zone de texte

Message par Dude »

Mouais, tu devrais installer XRay. Cela te permettrait de voir un peu les méthodes et propriétés des objets.

Dans ton cas, et après avoir récupérer le contrôle à masquer, il suffit d'utiliser dessus :

Code : Tout sélectionner

setvisible ( <booléen> )
:!:
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Base] Cacher une zone de texte

Message par Xilex »

Pour l'installation de logiciels, c'est pas moi qui gère c'est mon maitre de stage car je ne suis pas administrateur sur cet ordi :wink:

J'ai juste cette ligne a mettre ou il faut que je me connecte a la base avant ? Parce que j'avais récupéré ce genre de code dans un forum:

Code : Tout sélectionner

Sub VisibleInvisible


aForm = thiscomponent.DrawPage.Forms.GetByName("FORM_PATIENT_USC") 
aCtrl = aForm.GetByName("TextBox1") 
aCtrl.Visible = False

end sub
Mais cela ne marche pas... est-ce que je n'aurait que la dernière ligne à modifier ?
Open Office 3.1
Windows XP Pro
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Cacher une zone de texte

Message par Dude »

Xilex a écrit :Mais cela ne marche pas... est-ce que je n'aurait que la dernière ligne à modifier ?
Et si tu (re)lisais un peu ce que j'écris.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Base] Cacher une zone de texte

Message par Xilex »

Non mais vous m'avais mis une ligne de code, mais je ne sais pas comment l'utiliser! je n'ai jamais fait de macro...

Bref c'est pas grave merci quand meme .
Open Office 3.1
Windows XP Pro
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Résolu][Base] Cacher une zone de texte

Message par Xilex »

Bonjour!

Je débute en Basic et j'avoue que j'ai du mal a m'y faire...

Voici mon code:

Code : Tout sélectionner

Sub VisibleInvisible


aForm = thiscomponent.DrawPage.Forms.GetByName("FORM_PATIENT_USC") 
aCtrl = aForm.GetByName("TextBox1") 
aCtrl = setvisible(False)

end sub

et voici l'erreur qu'on me signale:

Erreur d'exécution BASIC
Une exception s'est produite:
Type: com.sun.container.NoSuchElementException
Message: .

et on me montre la ligne : aForm = thiscomponent.DrawPage.Forms.GetByName("FORM_PATIENT_USC")


Je ne comprend pas le message d'erreur et lors de la compilation, tout se passe bien.

Pourriez vous m'éclairer...
Open Office 3.1
Windows XP Pro
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Cacher une zone de texte

Message par Dude »

Xilex a écrit :Non mais vous m'avais mis une ligne de code, mais je ne sais pas comment l'utiliser!
Et bien tu peux faire un peu de recherche sur ce forum avec le terme "setvisible" par exemple. Ce qui nous donne :

Code : Tout sélectionner

aCtrl.SetVisible (False)
Je te rappelle aussi que pour faciliter les réponses, tu peux joindre en plus de ton code, un fichier.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Base] Cacher une zone de texte

Message par Xilex »

Et bien voici ma base :
REA.odb

Mais moi c'est cette erreur qui me chagrine, et c'est pour cela que je ne sais pas si il faut que j'ouvre la base avant ou non... 'Fin je suis un peu perdue :?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 3.1
Windows XP Pro
Avatar de l’utilisateur
spYre
InconditiOOnnel
InconditiOOnnel
Messages : 888
Inscription : 29 oct. 2008 19:02
Localisation : Liège, Belgique

Re: [Base] Cacher une zone de texte

Message par spYre »

Bonjour Xilex,

Il y a je crois un problème de vocabulaire, par ailleurs tout à fait compréhensible.

Dans Base, les 'Formulaires' sont en fait des documents textes (Writer) qui contiennent un ou des formulaires.
Dans ton exemple, je crois deviner que FORM_PATIENT_USC est le nom du document. Or c'est le nom du formulaire proprement dit qu'il faut fournir à la macro.
Celui ci peut être vérifié via le navigateur de formulaire (afficher la barre d'outils Ébauche de formulaire et cliquer sur l'icône
Icone_navig_form.jpg
Par défaut, il doit s'agir de Standard ou MainForm.

Cordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 3.3.4 + Report Builder
Windows 7 / Windows XP sp3
Ubuntu 11.10 / LMDE
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Base] Cacher une zone de texte

Message par Xilex »

Ah je vois... je vais me renseigner... Merci :super:
Open Office 3.1
Windows XP Pro
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Base] Cacher une zone de texte

Message par Xilex »

Tout marche... ou presque!

La fonction ne semble pas lui plaire :?

A la ligne

Code : Tout sélectionner

aCtrl.SetVisible (False)
Il me dit "Propriété ou méthode introuvable"...
Le modérateur a écrit : :alerte: On vous l'a déjà signalé. Merci de ne pas poster plusieurs messages à la suite !
Le bouton "Editer" à la droite du message permet d'y remédier.

En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.


Après avoir amélioré mon code, j'obtiens:

Code : Tout sélectionner

Sub VisibleInvisible
Dim aForm as object
Dim aCtrl as object
Dim mon_ctrl as object
Dim view as object

aForm = thiscomponent.DrawPage.Forms.GetByName("MainForm1")
view=ThisComponent.CurrentController() 
aCtrl = aForm.GetByName("TextBox1")
mon_ctrl = view.getcontrol(aCtrl) 
mon_ctrl.SetVisible(False)
end sub
Cependant, je n'ai plus d'erreur, mais rien en se passe et ma zone de texte est toujours la :(
Open Office 3.1
Windows XP Pro
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Cacher une zone de texte

Message par Dude »

Même question que SpYre tout à l'heure :

Code : Tout sélectionner

aCtrl = aForm.GetByName("TextBox1")
As-tu un contrôle qui se nomme TextBox1 ?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Base] Cacher une zone de texte

Message par Xilex »

Oui c'est celui que je cherche a cacher
Open Office 3.1
Windows XP Pro
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: [Base] Cacher une zone de texte

Message par bm92 »

Bonsoir,
Bogue de régression de la 3.1 : Issue 102090

:arrow: Xilex
Merci d'ajouter [Issue] dans le titre de ton message initial (comment faire).

:idea: Vous pouvez voter pour cette Issue (comment faire).
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Issue][Base] Cacher une zone de texte

Message par Xilex »

Je ne comprends pas bien l'anglais mais à ce que j'ai pu déchiffré, c'st donc pas possible ? :?
Open Office 3.1
Windows XP Pro
kialginat
Membre lOOyal
Membre lOOyal
Messages : 27
Inscription : 21 nov. 2006 16:35

Re: [Issue][Base] Cacher une zone de texte

Message par kialginat »

Bonjour

Bonjour as-tu essayé

Code : Tout sélectionner

aCtrl.IsVisible = false
C'est ce que j'ai fait avec des sections pour avoir des pseudo onglets dans ma base et ça fonctionne
windows XP SP3, OOo 3.1
ubuntu 10.4 OOo 3.2
"faire ce qui doit être fait sans ce soucier de ce qui sera dit"
kialginat
Membre lOOyal
Membre lOOyal
Messages : 27
Inscription : 21 nov. 2006 16:35

Re: [Issue][Base] Cacher une zone de texte

Message par kialginat »

Bonjour,

J'ai essayer mais ça na fonctionne pas, pluôt logique vu les personnes ayant répondu :oops: :oops:
Par contre je te propose de mettre tes controls dans une section que tu peux masquer /démasquer à l'aide dune macro

cordialement
windows XP SP3, OOo 3.1
ubuntu 10.4 OOo 3.2
"faire ce qui doit être fait sans ce soucier de ce qui sera dit"
Xilex
Membre OOrganisé
Membre OOrganisé
Messages : 61
Inscription : 20 mai 2009 09:30

Re: [Issue][Base] Cacher une zone de texte

Message par Xilex »

Quel genre de section ?
Open Office 3.1
Windows XP Pro
kialginat
Membre lOOyal
Membre lOOyal
Messages : 27
Inscription : 21 nov. 2006 16:35

Re: [Issue][Base] Cacher une zone de texte

Message par kialginat »

Bonjour

Il s'agit des sections que l'on peut insérer (onglet insertion=> Section) puis que tu nommes par exemple "Ma_section"
ensuite tu assignes la macro à un bouton ou autres
les codes sont :

Code : Tout sélectionner

lesSections = thisComponent.textSections 'les sections
La_Section = lesSections.getByName("Ma_section")' la section "Ma_section"

La_Section.IsVisible = true ' la section est visible
La_Section.IsVisible = false ' la section est masquée
Par contre depuis la 3.1 je suis obliger d'actualiser le formatage mais ça ..... comme dirait Mr Propre autre sujet autre post
windows XP SP3, OOo 3.1
ubuntu 10.4 OOo 3.2
"faire ce qui doit être fait sans ce soucier de ce qui sera dit"