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 :

Exécution d'une requête mise à jour via VBA [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Exécution d'une requête mise à jour via VBA
    Bonjour

    J'ai actuellement une requête mise à jour sous Visual Basic qui a pour objet de concaténer le nom et le prénom dans un nouveau champ et de l'enregistrer sur ma table

    Pour l'heure, j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Commande186_Click()
    CurrentDb.Execute ("UPDATE 1_Baseclient SET [1_Baseclient].NomPrenom = [1_Baseclient].[Nom] & ' ' & [1_Baseclient].[Prenom]")
    Me.Refresh
    End Sub
    Dans cette configuration, je dois cliquer sur un bouton pour mettre à jour ma donnée concaténée nom et prénom. Or, je souhaite une mise à jour automatique dès que je renseigne le nom et / ou le prénom sur le formulaire.

    J'ai essayé d'utiliser le code en "afterupdate" mais cela ne fonctionne pas.

    Pour info, ma variable nom & prénom est une clé primaire, dont la valeur est non nulle.

    Je vous remercie pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour , pourquoi ne pas essayer l'evenement "Exit" (sortie) du 2°
    champ à concatener ? a+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Merci pour ta réponse, mais j'ai déjà essayé toutes les procédures événementielles.

    La seule chose que j'ai réussi à faire fonctionner, c'est en appuyant manuellement sur un bouton. Dans ce cas, la donner se met à jour de suite. Dans les autres cas, soit j'ai un message d'erreur, soit la mise à jour s'effectue mais après réouverture du formulaire (et ce même si j'utilise un Me.refresh ...)

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 131
    Points : 94
    Points
    94
    Par défaut
    Je crois que c'est

    pour renouveller les requete sql

  5. #5
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 43
    Points : 51
    Points
    51
    Par défaut
    Salut,
    Dans ton Form, tu dois avoir 3 champs de saisie:
    -Nom, Prenom et NomPrenom.
    Dans l'Event AfterUpdate de Nom et Prenom essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NomPrenom = Nom & ", " & Prenom

  6. #6
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.

    Ceci devrait convenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Nom_AfterUpdate()
    Me!Nom.Value = Me!Nom & " " & Me!Prenom
    End Sub
    J'utilise depuis longtemps ceci depuis longtemps sous Access 2000, 2003 et 2007 sans problème.

    Bon travail.

  7. #7
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.

    Je rectifie (j'ai été un peu vite pour écrire le code!!!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Nom_AfterUpdate()
    Me!NomPrenom.Value = Me!Nom & " " & Me!Prenom
    End Sub
    Bien entendu, il faut faire le "AfterUpdate" sur le champ encodé en dernier.
    Bon travail.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Merci à tous pour vos réponses

    J'ai testé la solution de NguyenRD, qui fonctionne à merveille.

    Elle correspond bien à mon besoin, dans la mesure où le nom peut-être renseigné sans prénom


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

Discussions similaires

  1. Exécuter une requête mise à jour en vba
    Par franckimmo dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/02/2010, 14h58
  2. une requête mise à jour
    Par devito dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/12/2006, 23h07
  3. Exécuter une requête mise à jour à l'ouverture
    Par picatchou dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/09/2006, 13h53
  4. Réponses: 7
    Dernier message: 30/08/2006, 15h38
  5. Réponses: 4
    Dernier message: 01/12/2005, 14h36

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