Problème sous Access 2007

Rougv86 -  
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tout le monde!

J'ai un petit problème avec une base de données ( pour un classement sportif ) que j'essaie de créer sous Access 2007. Ayant découvert ce logiciel depuis peu, je n'y connais pas grand chose. Voici ce que je voudrais faire :

J'ai créé une table "Points" avec les champs "ID", "NOM / Prénom" et "Points".

J'ai ensuite commencé à faire un formulaire : je choisis dans une liste déroulante une valeur du champ "NOM / Prénom", et j'aimerais que, en cliquant, par exemple sur un bouton "Valider", un nombre de points (déterminé auparavant) soit attribué automatiquement en plus de la valeur existante du champ "Points" associé au NOM / Prénom

Je vais donner un exemple, vous comprendrez peut-être mieux :)

Mr. "MUCHE Truc" a 10 points. Dans la liste déroulante du formulaire, je choisis son nom. J'ai décidé auparavant qu'en cliquant sur Valider, 50 points seraient attribués. Une fois son nom choisi, je clique donc sur Valider, et hop ! MUCHE Truc se retrouve avec 60 points ( 10 + 50 ).

Quelqu'un saurait-il quelle procédure effectuer ? Que créer ? Quel code (je suppose qu'il faut une macro ou un truc du genre pour ca ) faut-il taper ??

Voilà, en espérant m'être fait comprendre!!

Merci d'avance !
A voir également:

28 réponses

LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
 
Mais qu'est ce qu'il ya dans ton formulaire????????? Tu as fait comme j'ai dit dans le post 6????

Si tu as à l'écran UN enregistrement, c'est à celui là que seront attribué les X points.
0
rougv86
 
Normalement, oui, puisque lorsque que je n'ai qu'un enregistrement, ca marche parfaitement. Mais, alors, ce n'est pas possible, dans un même formulaire, d'attribuer des valeurs différentes à plusieurs enregistrements ?
0
LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
 
Si, si quelque part on indique à Access quelle valeur, et c'est ça que je n'arrive pas à te soutirer comme info.

Comme c'est toi qui décide du nombre de points, comment voudrais tu qu'Access "devine"???
0
rougv86
 
Mais quelle info veux-tu donc "me soutirer" ?? Je ne comprends pas!

et tu dis : "Si, si quelque part on indique à Access quelles valeurs". Ou c'est, ce quelque part ? Ou faut-il indiquer les valeurs à ajouter ?
0
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Les conseils de LatelyGeek sont judicieux ...
Pouvez-vous mettre votre base sur www.cijoint.fr et poster le lien.
Il serat peut plus simple de vous aider ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rougv86
 
Je ne peux pas poster de fichier .accdb sur cijoint.fr..
0
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour rougv86,
Vous compressez votre base sur ZIP comme préciser dans la liste :
Les formats acceptés sont :
".odt", ".ods", ".odp", ".odg", ".odb", ".sxc", ".sxw", ".sxi", ".sxd", ".oxt"
".txt", ".dbf", ".pdf", ".zip", ".mid" ,".ogg", ".wma", ".mp3, ".png", ".jpg", ".gif", ".bmp"
".doc", ".xls", ".ppt", ".pps", ".rtf"
--

Salutations.
Jean-Pierre
0
rougv86
 
Après avoir un peu fouiné, voici ce que j'ai rentré comme code VBA, dans la propriété sur Clic du Bouton. J'ai inséré du SQL dans le code :

Private Sub Valider1_Click()
Dim Var1 As String
Var1 = List1.Value
DoCmd.RunSQL "UPDATE Compta SET Compta.Points = Compta.Points + 50 WHERE (((Compta.Nom_Prenom)=' & Var1 & '))", True
End Sub


Le problème, c'est que quand je clique sur le Bouton Valider1 après avoir sélectionné un nom dans la liste déroulante, il me dit : Vous allez mettre à jour 0 lignes. Il devrait pourtant y avoir une ligne mise à jour!

J'ai l'impression que c'est au niveau de la variable que j'ai créée que quelque chose ne va pas.

Qu'est ce qu'il faut corriger ?
0
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Juste en attendant, il n'est pas possible de trouver l'erreur dans votre code sans connaitre se qui se trouve exactement sur votre formulaire !
0
rougv86
 
http://www.cijoint.fr/cjlink.php?file=cj200809/cijgnAfOQ5.zip

Voici le lien vers ma base.
0
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Voici la procédure correcte pour votre cas :

Private Sub Valider1_Click()
DoCmd.RunSQL "UPDATE Compta SET Compta.Points = Compta.Points + 50 WHERE (((Compta.[ID]) = [Formulaires]![Form1]![List1]))"
End Sub

0
rougv86
 
Ca marche ! Merci infiniment !!
0
Le Pingou Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Merci pour votre information.
Un petit encas à bien plaire : https://www.cjoint.com/?jhxWOXlExp
Bonne découverte.
0