[Recup numero enregistrement Access]

Résolu
Utilisateur anonyme -  
zenon Messages postés 729 Statut Membre -
Bonjour
J ai créé un formulaire qui intègre un sous-formulaire.
Je souhaiterai récupérer le numéro d'enregistrement du sous-formulaire pour l'utiliser dans mon formulaire.
J'ai pensé à faire une petite fonction dont voici le code :

Option Compare Database

Function Recd()
Dim Val As Long
Val = CurrentRecord
End Function

Ensuite, dans mon formulaire, lors du clic sur un bouton, le code suivant permet, normalement, de récupérer le numéro d'enregistrement :

Public Sub Commande65_Click()
Dim num As Long
num = Recd()
MsgBox num
End Sub

Seulement il m'affiche "0". J'ai bien essayé de spécifier Sousformulaire.CurrentRecord mais ça plante.
Quelqu'un a-t'il une solution?
Merci

2 réponses

  1. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    la solution est simple (pour peu que l'on ne se prenne pas les pieds dans le tapis avec la syntaxe de nommage des objets ;-))
    MsgBox Forms![formulaire principal].Form![sous-formulaire].Form.CurrentRecord

    Et hop !
    0
    1. Utilisateur anonyme
       
      OK merci bien pour les conseils, ça marche impec.
      0
  2. zenon Messages postés 729 Statut Membre 180
     
    Tu compliques inutilement les choses à mon avis.

    Le code suivant suffit:

    MsgBox NomDuFormulaire.NomDuSousFormulaire!NomDuChampDontTuVeuxRécupérerLaValeur

    Tu peux l'affecter à un bouton de commande.

    A+
    0
    1. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Euh oui, mais en l'occurrence, il ne veut pas un champ particulier mais un compteur système...
      0
      1. zenon Messages postés 729 Statut Membre 180 > blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bah, oui, le principe est le même...

        De tte manière, j'avais oublié un morceau: "Forms!..."; ça n'aurait pas marché...
        0