Modifier une valeur dans une table à l'aide d'un bouton de commande (code vb)
4 réponses
Sesbiosfv
Bonjour,
J'ai un projet avec 2 tables et 2 formulaires correspondants (#1 et
#2). #1 =E0 une case =E0 cocher nomm=E9 "Statut" (activ=E9 par d=E9faut) et
un bouton pour ouvrir #2. Dans #2, il y a un champ qui peut d'ou on
peut s=E9lectionner les cl=E9s primaires de #1 qui ont le champ Statut
d'actif. Apr=E8s avoir remplis #2, il y a un bouton de commande qui
ferme le formulaire au clic.
Je d=E9sire ajouter du code (vb ou autre) =E0 ce bouton pour qu'il
d=E9coche (rend inactif) le champ Statut de la ligne s=E9lectionn=E9e par
la cl=E9 primaire plus haut.
La solution ne doit pas n=E9cessairement =EAtre en vb, tant que la
solution fonctionne bien avec le bouton de fermeture.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jessy Sempere [MVP]
Bonjour
tu peux effectivement soit utiliser une macro pour lancer une requête de mise à jour, soit utiliser VBA pour lancer plus ou moins la même requête de mise à jour mais en utilisant la synthaxe sql et currentdb.execute.
La 2ème méthode te permettra d'éviter les messages d'avertissement sans être obligé d'utiliser une ligne spécifique pour annuler les messages d'avertissement.
Le sql ou la requête que tu dois faire doit avoir comme champ ta clé primaire avec comme critère ta zone de sélection de ton formulaire #2 et ton champ statut avec comme mise à jour pour ce champ False.
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Sesbiosfv" a écrit dans le message news:
Bonjour,
J'ai un projet avec 2 tables et 2 formulaires correspondants (#1 et #2). #1 à une case à cocher nommé "Statut" (activé par défaut) et un bouton pour ouvrir #2. Dans #2, il y a un champ qui peut d'ou on peut sélectionner les clés primaires de #1 qui ont le champ Statut d'actif. Après avoir remplis #2, il y a un bouton de commande qui ferme le formulaire au clic.
Je désire ajouter du code (vb ou autre) à ce bouton pour qu'il décoche (rend inactif) le champ Statut de la ligne sélectionnée par la clé primaire plus haut.
La solution ne doit pas nécessairement être en vb, tant que la solution fonctionne bien avec le bouton de fermeture.
Merci en avance, Sebastien
Bonjour
tu peux effectivement soit utiliser une macro pour lancer une requête de
mise à jour,
soit utiliser VBA pour lancer plus ou moins la même requête de mise à jour
mais
en utilisant la synthaxe sql et currentdb.execute.
La 2ème méthode te permettra d'éviter les messages d'avertissement sans être
obligé
d'utiliser une ligne spécifique pour annuler les messages d'avertissement.
Le sql ou la requête que tu dois faire doit avoir comme champ ta clé
primaire avec comme
critère ta zone de sélection de ton formulaire #2 et ton champ statut avec
comme mise à jour
pour ce champ False.
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Sesbiosfv" <sesbiosfv@hotmail.com> a écrit dans le message news:
1120505914.489030.113580@g43g2000cwa.googlegroups.com...
Bonjour,
J'ai un projet avec 2 tables et 2 formulaires correspondants (#1 et
#2). #1 à une case à cocher nommé "Statut" (activé par défaut) et
un bouton pour ouvrir #2. Dans #2, il y a un champ qui peut d'ou on
peut sélectionner les clés primaires de #1 qui ont le champ Statut
d'actif. Après avoir remplis #2, il y a un bouton de commande qui
ferme le formulaire au clic.
Je désire ajouter du code (vb ou autre) à ce bouton pour qu'il
décoche (rend inactif) le champ Statut de la ligne sélectionnée par
la clé primaire plus haut.
La solution ne doit pas nécessairement être en vb, tant que la
solution fonctionne bien avec le bouton de fermeture.
tu peux effectivement soit utiliser une macro pour lancer une requête de mise à jour, soit utiliser VBA pour lancer plus ou moins la même requête de mise à jour mais en utilisant la synthaxe sql et currentdb.execute.
La 2ème méthode te permettra d'éviter les messages d'avertissement sans être obligé d'utiliser une ligne spécifique pour annuler les messages d'avertissement.
Le sql ou la requête que tu dois faire doit avoir comme champ ta clé primaire avec comme critère ta zone de sélection de ton formulaire #2 et ton champ statut avec comme mise à jour pour ce champ False.
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Sesbiosfv" a écrit dans le message news:
Bonjour,
J'ai un projet avec 2 tables et 2 formulaires correspondants (#1 et #2). #1 à une case à cocher nommé "Statut" (activé par défaut) et un bouton pour ouvrir #2. Dans #2, il y a un champ qui peut d'ou on peut sélectionner les clés primaires de #1 qui ont le champ Statut d'actif. Après avoir remplis #2, il y a un bouton de commande qui ferme le formulaire au clic.
Je désire ajouter du code (vb ou autre) à ce bouton pour qu'il décoche (rend inactif) le champ Statut de la ligne sélectionnée par la clé primaire plus haut.
La solution ne doit pas nécessairement être en vb, tant que la solution fonctionne bien avec le bouton de fermeture.
Merci en avance, Sebastien
Sesbiosfv
"Le sql ou la requête que tu dois faire doit avoir comme champ ta clé primaire avec comme critère ta zone de sélection de ton formulaire #2 et ton champ statut avec comme mise à jour pour ce champ False. "
Pouvez-vous m'écrir un peu plus en détail la marche à suivre? Je me suis rendu dans l'option définition des données d'une requète vide, mais je ne sais pas le code à écrire là.
"Le sql ou la requête que tu dois faire doit avoir comme champ ta clé
primaire avec comme critère ta zone de sélection de ton formulaire #2
et ton champ statut avec comme mise à jour pour ce champ False. "
Pouvez-vous m'écrir un peu plus en détail la marche à suivre?
Je me suis rendu dans l'option définition des données d'une requète
vide, mais je ne sais pas le code à écrire là.
"Le sql ou la requête que tu dois faire doit avoir comme champ ta clé primaire avec comme critère ta zone de sélection de ton formulaire #2 et ton champ statut avec comme mise à jour pour ce champ False. "
Pouvez-vous m'écrir un peu plus en détail la marche à suivre? Je me suis rendu dans l'option définition des données d'une requète vide, mais je ne sais pas le code à écrire là.
Sesbiosfv
J'ai trouvé ;)
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Appel recu] SET [Statut]=off WHERE [No appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
DoCmd.SetWarnings True
J'ai trouvé ;)
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Appel recu] SET [Statut]=off WHERE [No
appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
DoCmd.RunSQL "UPDATE [Appel recu] SET [Statut]=off WHERE [No appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
DoCmd.SetWarnings True
Jessy Sempere [MVP]
Bonjour
Et ben voilà c'est cool...
Sinon si tu veux éviter de gérer les SetWarnings, tu peux remplacer ton code par :
CurrentDb.Execute "UPDATE [Appel recu] SET [Statut]=off WHERE [No appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Sesbiosfv" a écrit dans le message news:
J'ai trouvé ;)
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Appel recu] SET [Statut]=off WHERE [No appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
DoCmd.SetWarnings True
Bonjour
Et ben voilà c'est cool...
Sinon si tu veux éviter de gérer les SetWarnings, tu peux remplacer ton code
par :
CurrentDb.Execute "UPDATE [Appel recu] SET [Statut]=off WHERE [No
appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Sesbiosfv" <sesbiosfv@hotmail.com> a écrit dans le message news:
1120663787.126823.33770@g14g2000cwa.googlegroups.com...
J'ai trouvé ;)
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Appel recu] SET [Statut]=off WHERE [No
appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
Sinon si tu veux éviter de gérer les SetWarnings, tu peux remplacer ton code par :
CurrentDb.Execute "UPDATE [Appel recu] SET [Statut]=off WHERE [No appel]=([Formulaires]![Appels sortant]![Texte42]) ;"
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Sesbiosfv" a écrit dans le message news:
J'ai trouvé ;)
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Appel recu] SET [Statut]=off WHERE [No appel]=([Formulaires]![Appels sortant]![Texte42]) ;"