[Sous-formulaire][VBA]

Bonjour, ou re-bonjour pour ceux qui m'ont déjà aidé ce matin....
Je souhaiterai récupérer le numéro d enregistrement d'un sous-formulaire intégré dans un formulaire.
Voilà mon code de mon formulaire:

Sub CurrentFormRecord(Formulaire As Form)
Dim recordnum As Long
recordnum = Formulaire.CurrentRecord
End Sub

Private Sub Commande65_Click()
MsgBox recordnum
End Sub

En fait mon sous-formulaire affiche une table et si un utilisateur choisit une ligne, je veux récupérer le numéro de l enregistrement.
Mais la MsgBox est vide quand je clique sur le bouton...
Quelqu'un sait pourquoi?
Merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    Il semble qu'il manque une instruction (exécution de "CurrentFormRecord" dans votre Private Sub...

    Private Sub Commande65_Click()
    Dim recordnum As Long
    CurrentFormRecord
    recordnum = Formulaire.CurrentRecord
    End Sub
    1. Re bonjour,
      Essayez ce code:
      Private Sub Commande65_Click()
      Dim recordnum As Long
      recordnum = Form_Le nom du sous formulaire.CurrentRecord
      MsgBox recordnum
      End Sub
      1. Bonjour,

        et de plus, la variable [recordnum] est déclaré localement
        dans le routine [CurrentFormRecord]. Celle-ci ne peut être
        connu de la routine [Commande65_Click].

        Il faut déclarer la variable a l'extérieur des routines comme
        suit :

        Dim recordnum As Long

        ou à l'extérieur du module, comme suit :

        Public recordnum As Long

        @+
        Lupin
        1. Merci de la précision.