Dernier enregistrement à l'ouverture d'un formulaire

Bonjour.

Un formulaire contient un contrôle de table. À l’ouverture, je souhaite aller au dernier enregistrement. J’utilise cette macro :

Sub DernierEnregistrement(objEvent As Object)
  Dim objForm As Object
  objForm = objEvent.Source.Model.Parent
  objForm.Last
End Sub

Elle fonctionne correctement si je l’exécute à l’aide d’un bouton mais je ne sais pas quel événement définir pour qu’elle s’exécute automatiquement à l’ouverture du formulaire (ça plante avec Lors du chargement).

Merci.

Question déjà posée ici:

Ça plante : Erreur d’exécution variable non définie

Remarque : ce code implique de définir le nom, ce qui veut dire qu’il faudrait le multiplier si on voulait qu’il s’applique à plusieurs formulaires.

https://forum.openoffice.org/fr/forum/viewtopic.php?t=33319

1 Like

Merci, j’ai passé du temps sur ces sujets mais rien de cohérent.

Bonjour voici la solution que l’on peut trouver ici :
Private Sub DernierEnregistrement(oEvent As Object)

Dim objForm As Object :objForm = oEvent.Source
Dim oDoc As Object :oDoc = ThisComponent
oDoc.lockControllers
objForm.moveToInsertRow
objForm.Last
oDoc.unlockControllers
End Sub

Là c’est ok. :slightly_smiling_face: