Page 1 sur 1

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

Publié : 15 mai 2019 14:12
par frannyz
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

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

......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

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

Publié : 15 mai 2019 14:19
par micmac
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.

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

Publié : 15 mai 2019 14:45
par Piaf
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+

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

Publié : 16 mai 2019 17:30
par frannyz
bonsoir
merci beaucoup grace à ça j'ai écrit ma macro

Code : Tout sélectionner

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

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

Publié : 16 mai 2019 18:09
par Piaf
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+

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

Publié : 16 mai 2019 20:13
par frannyz
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