IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Reprendre la valeur d'un enregistrment


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 40
    Points : 31
    Points
    31
    Par défaut Reprendre la valeur d'un enregistrment
    Bonjour,

    J'aimerai savoir, dans un formulaire de type tabulaire, s'il est possible de reprendre la valeur de l'enregistrement juste haut-desssus.

    J'explique ce que je veux essayer de faire :
    Chaque fois que j'entre un nouvel enregistrement dans mon formulaire, j'aimerai reprendre la clé primaire de l'enregistrement juste haut dessus pour indiquer à celui que je viens de créer que c'est son "père". En faite, chaque enregistrment correspond à une étape. Au final, ca va me donner une sorte de chaîne et quand je lirai la table père-fils, je pourrai connaitre quelle étape je devrai exécuter et dans quel ordre.

    Merci d'essayer de m'aider

  2. #2
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Je te propose deux solutions en espérant que cela te conviendra :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Me!EnrPère.Value = DMax("Clé", "NomDeLaTable")
    End Sub
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Dim intClé As Integer
    DoCmd.GoToRecord , , acPrevious
    intClé  = Me!Clé.Value
    DoCmd.GoToRecord , , acNext
    Me!EnrPère.Value = intClé 
    End Sub
    où EnrPère est un champ de la table et du formulaire qui contient la valeur de la clé de l'enregistrement précédent
    où Clé est le nom du champ de la table et du formulaire correspondant à la Clé primaire.

    A insérer sur l'évènement "Avant Insertion" du formulaire.

    La première solution est plus lente que la première.

    Bon courage
    ActionAccess

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 40
    Points : 31
    Points
    31
    Par défaut
    Merci, j'ai réussi a faire un truc un peu potable mais il reste un chti probleme. S'il y a qu'un enregistrement (donc le premier qu'on va créer) il y a une erreur de compilation comme il n'y a pas d'enregistrement haut-desssu. Donc est-il possible de faire un test pour savoir s'il y a un enregistrement haut dessus et si c'est pas le cas, l'étape n'a pas de père ?

  4. #4
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Rebonjour,

    Tu peux utiliser la propriété CurrentRecord qui t'indique le numéro de l'enregistrement en cours.

    Et cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Me.CurrentRecord = 1 Then
    Me!EnrPère.Value = 0
    Else
    Dim Var_Clé As Integer
    DoCmd.GoToRecord , , acPrevious
    Var_Clé = Me!Clé.Value
    DoCmd.GoToRecord , , acNext
    Me!EnrPère.Value = Var_Clé
    End If
    Arbitrairement, j'ai mis 0 dans le champ EnrPère, mais tu peux aussi bien laisser vide.

    Bonne continuation
    ActionAccess

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. Réponses: 8
    Dernier message: 15/05/2006, 14h33
  3. recopier une valeur dans plusieurs enregistrements
    Par moicats dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 17h02
  4. Recherche Valeur d'un enregistrement
    Par Daniel MOREAU dans le forum Access
    Réponses: 7
    Dernier message: 11/04/2006, 13h39
  5. Réponses: 3
    Dernier message: 27/03/2006, 08h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo