[Résolu][Base]enregistrer/attacher 1 macro à 1 formulaire

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]enregistrer/attacher 1 macro à 1 formulaire

Messagepar frannyz » 15 Mai 2019 15:12

Bonjour
je ne comprenais pas pourquoi un formulaire de table ne montrait que les 40 premiers enregistrements. J'ai eu la réponse sur le forum. Je voudrais que à l'ouverture du formulaire celui ci indexe automatiquement tous les enregistrements et montre leur nombre réel
J'ai trouvé une réponse donnée par piaf :
Tu devrais peut-être travailler sur le resultset du formulaire.

qui indique un code qui a l'air de marcher d'après la personne à qui il l'indiquait
Code : Tout sélectionner   AgrandirRéduire
Sub Ouverture
Dim rst as Object
   rst = thisComponent.DrawPage.Forms.getByName("Nom Interne du formulaire").createResultSet
   rst.last
   rst.First
End Sub

Mais je ne sais pas où l'écrire et l'enregistrer pour que ça s'exécute automatiquement quand je clique sur les formulaires de cette table
Par ailleurs j'ai 2 formulaires credit et credit-virements pour la table qui s'appelle credit
doit-on renseigner leurs noms dans le code et où ?
cree-t-on un resulset pour les 2 formulaires ou chaque formulaire a-t-il son resultset ?
Code : Tout sélectionner   AgrandirRéduire
......getByName("credit","credit-virement",).createResultSet.......

rien trouvé sur le forum ni sur les docs
j'ai créé les formulaires avec l'assistant
merci d'avance
Fran
Dernière édition par micmac le 16 Mai 2019 21:31, édité 3 fois.
Raison: Ajout de la coche verte
Open office 4.1.6 sous windows 7
frannyz
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 31 Oct 2011 17:30

Re: [base]Comment enregistrer/utiliser 1 macro pour formulai

Messagepar micmac » 15 Mai 2019 15:19

Rappel sur les balises : la première lettre en majuscule, le reste eń minuscules, le tout entre crochets.
Veuillez corriger ce balisage pour vos deux derniers sujets.
Dans votre signature vous devez préciser la ou les versions exactes d'OpenOffice ou de LibreOffice et du ou des systèmes utilisés.
Exemple : AOO 4.1.6 (version imposée selon le cas) sous Win7 SP1, Win 8.1, Win 10, macOS 10.14.5, Ubuntu 18.10...
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5895
Inscrit le : 28 Août 2010 09:45

Re: [base]Comment enregistrer/utiliser 1 macro pour formulai

Messagepar Piaf » 15 Mai 2019 15:45

Re
Ouvre ton formulaire en mode édition et vérifie le nom "interne"
Form.png
et affecte la macro à l'événement Lors du chargement du formulaire
macro.png
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5622
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: [Base]Comment enregistrer/utiliser 1 macro pour formulai

Messagepar frannyz » 16 Mai 2019 18:30

bonsoir
merci beaucoup grace à ça j'ai écrit ma macro
Code : Tout sélectionner   AgrandirRéduire
REM  *****  BASIC  *****
Sub Ouverture
Dim rst as Object
   rst = thisComponent.DrawPage.Forms.getByName("credit").createResultSet
   rst.last
   rst.First
End Sub


credit étant le nom du formulaire auquel la macro est attachée
par la section
fichier->nouveau document texte->outils->macros->gèrer les boites de dialogue->nouveau
je le précise pour que les débutants comme moi ne passent pas leur temps à chercher où le faire
Je l'ai enregistrée dans mes macros sous le nom creditcompta

Puis grace aux 2 images d'exemples (merci Piaf) j'ai pu l'attacher au formulaire

mais à l'ouverture de celui ci , j'ai un message d'erreur (image jointe)
je suis sure que c'est une erreur lambda, désolée
que dois je faire ?
merci d'avance
Fran
Pièces jointes
Capture.JPG
Open office 4.1.6 sous windows 7
frannyz
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 31 Oct 2011 17:30

Re: [Base]Comment enregistrer/utiliser 1 macro pour formulai

Messagepar Piaf » 16 Mai 2019 19:09

Bonjour
Vérifie le nom du formulaire dans l'onglet Général des propriétés du formulaire.
Si ça ne résout pas le problème, merci de joindre une base sans données confidentielles mais de mêmes structures que ta base de travail.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5622
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: [Base]Comment enregistrer/utiliser 1 macro pour formulai

Messagepar frannyz » 16 Mai 2019 21:13

Tu as raison, dans l'onglet général le nom était MainForm, j'ai changé et mis credit , et ça permet d'ailleurs d'attacher la même macro sur les 2 formulaires ce qui est bien pratique
MERCI BEAUCOUP
Open office 4.1.6 sous windows 7
frannyz
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 14
Inscrit le : 31 Oct 2011 17:30


Retour vers Macros et API

Qui est en ligne ?

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