Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2010, 18h45   #1
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
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 :
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
higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 19h00   #2
Membre régulier
 
Homme Thierry Pallier
Regisseur
Inscription : octobre 2006
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Thierry Pallier
Âge : 51
Localisation : France, Seine Maritime (Haute Normandie)

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

Informations forums :
Inscription : octobre 2006
Messages : 47
Points : 94
Points : 94
Bonjour , pourquoi ne pas essayer l'evenement "Exit" (sortie) du 2°
champ à concatener ? a+
Thierry_PALLIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 19h21   #3
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
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 ...)
higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 15h23   #4
Membre du Club
 
clément
Étudiant
Inscription : septembre 2010
Messages : 131
Détails du profil
Informations personnelles :
Nom : clément
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2010
Messages : 131
Points : 59
Points : 59
Je crois que c'est

pour renouveller les requete sql
Mycose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 15h39   #5
Membre du Club
 
Développeur informatique
Inscription : décembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Âge : 49

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2008
Messages : 43
Points : 46
Points : 46
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 :
1
2
 
NomPrenom = Nom & ", " & Prenom
NguyenRD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 10h34   #6
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Bonjour.

Ceci devrait convenir :

Code :
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.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 10h36   #7
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Bonjour.

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

Code :
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.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 12h40   #8
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
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

higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h22.


 
 
 
 
Partenaires

Hébergement Web