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

VBA Access Discussion :

Afficher la dernière valeur d'un enregistrement dans un formulaire


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Afficher la dernière valeur d'un enregistrement dans un formulaire
    Bonjour,
    J'ai une table intitulé commande avec 3 champs (Date, Nom, Numéro)
    Un formulaire nomé Form_Commande avec les champs de la table commande les champs du formulaire portent le même nom que ceux de la table.

    Je souhaiterai pour le champs "Nom" du formulaire qu'à chaque fois qu'on veut créer un nouvel enregistrement que le programme mette par défaut celui précédement renseigné.
    Seulement je n'y arrive pas, j'ai cherché sur un internet et je n'arrive vraiment pas à faire ce qu'il faut, quelqu'un pourrait il m'aider svp?

    Je vous remercie par avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Sans programmation tu peux appuyer sur la combinaison de touches :

    [Ctrl][shift][,]

    est-ce que cela te suffit ?

    A+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Merci pour la réponse
    Cela ne suffit pas car l'utilisateur a beaucoup de commandes à renseigner et il le fait par utilisateur, il va donc rentrer 10 fois le même utilisateur. Cette manipulation lui fera perdre trop de temps.
    Si quelqu'un connait ce qu'il faut mettre dans la valeur par défaut du champs du formulaire ou dans le VB du formulaire, je suis preneur.
    Merci encore

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 67
    Points
    67
    Par défaut
    Dans l'évènement before_insert de ton formulaire en vba tu peut renseigner ton champ "Nom".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_BeforeInsert(Cancel As Integer)
    [NOM] = "blabla"
    End Sub

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Que dois je mettre à la place de blabla pour récupérer la dernière valeur renseignée?

    Il ne s'agit pas d'une valeur fixe (elle est répétée mais change)

    Merci pour votre aide

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 67
    Points
    67
    Par défaut
    il faut que tu passe par une variable globale à ton formulaire que tu renseignera dans l'évènement after_update de ton formulaire:

    Code de ton formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Compare Database
     
    Dim DernierNom As Variant
    Private Sub Form_AfterUpdate()
    DernierNom = [NOM]
    End Sub
     
     
    Private Sub Form_BeforeInsert(Cancel As Integer)
    [NOM] = DernierNom
    End Sub

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci pour le code.
    Cependant, lorsque je le rajoute dans le VB du formulaire et que je créer deux enregistrement d'affilé, la valeur n'est pas reprise (aucun message d'erreur)

    Avez vous une petite idée?

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 67
    Points
    67
    Par défaut
    il ne faut pas que le nom soit la 1ere valeur saisie de la nouvelle ligne, commence toujours à saisir la date en 1er et ça devrait fonctionner.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    la date est déjà en premier

    Une autre idée?

    Merci pour l'aide

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 67
    Points
    67
    Par défaut
    met un point d'arrêt dans ton code pour voir si tu passe bien dans les évènements (si tu as juste fait un copié/collé du code, les évènements ne sont peut être pas liés au formulaire, tu peux voir ça si tu n'a pas "procédure évnementielle" en face des évènements "avant insertion" et "aprés mise à jour" dans les propriétés de ton formulaire, à part ça je vois pas...

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Ca y est !!!

    En faite j'avais bien le champs date en premier mais je ne rentrais pas dedans
    du coup ca ne fonctionnait pas.

    J'ai ajouté le code sur l'insertion du champs (renomé en NomTEst) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub NomTEST_Enter()
    [NomTEST] = DernierNom
    End Sub
    Dans ce cas là ca marche parfaitement.

    Merci pour votre aide précieuse

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Il me reste cependant un petit soucis, lorsque je vais sur d'autre enregistrements, le programme modifie le nom.
    Est possible de faire quelque chose pour que ca ne le fasse qu'en ajout d'enregistrement et non en modification/consultation?

    Merci pour votre aide

  13. #13
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 52
    Points : 67
    Points
    67
    Par défaut
    Teste la propriété NewRecord de ton formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_AfterUpdate()
    if Me.NewRecord then DernierNom = [NOM]
    End Sub

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Encore une fois merci ca marche correctement maintenant.

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/03/2015, 09h15
  2. Réponses: 8
    Dernier message: 27/03/2014, 11h46
  3. Réponses: 3
    Dernier message: 01/09/2008, 18h34
  4. Dernière valeur d'une variable dans une boucle.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/12/2007, 20h34
  5. Réponses: 1
    Dernier message: 24/07/2006, 18h28

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