[Sous-formulaire][VBA]

Fermé
Utilisateur anonyme - 17 juin 2005 à 14:36
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 - 17 juin 2005 à 17:37
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

purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
17 juin 2005 à 16:50
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
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
17 juin 2005 à 17:16
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
0
Utilisateur anonyme
17 juin 2005 à 17:20
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
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
17 juin 2005 à 17:37
Merci de la précision.
0