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

Requêtes et SQL. Discussion :

Problème sous Access 2007


Sujet :

Requêtes et SQL.

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

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Problème sous Access 2007
    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 (j'espère que je poste au bon endroit). Ayant découvert Access 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 !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP.

    Une piste serait la création d'une requête de mise à jour.

    Il s'agit d'une requête de ce type :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE Points SET Points.Points = Points!Points+50
    WHERE (((Points.Nom_Prenom)="MUCHE Truc"));
    Il faut juste remplacer le nom par la récupération de la donnée de ta liste déroulante.

    Pour info, en général on ne met pas le nom et le prénom dans le même champ, on utilise des champs séparés.

    Starec

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

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    S'il-te-plaît, pourrais-tu m'indiquer précisément la marche à suivre pour réaliser cette "requête de mise à jour". Je m'y connais vraiment très peu et n'ai jamais fait ce type d'opérations!

    D'autre part, que faut-il rentrer pour, comme tu dis, "remplacer le nom par la récupération de la donnée de ta liste déroulante" ?

    Merci beaucoup de ton aide (bien sûr, d'autres suggestions sont les bienvenues

    Rougv86

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    En fait, ta liste déroulante porte un nom ...

    Dans ton code tu affecte cette valeur à une variable, admettons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaVar = NomdetaZone.value
    Ensuite dans ta requête tu n'as plus qu'a utiliser ton nom de variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE Points SET Points.Points = Points!Points+50
    WHERE (((Points.Nom_Prenom)="' & MaVar & '"));
    [ Remarque : Je suis en OpenSource donc je n'ai pas pu tester..., mais si je me rappel bien je dois pas être loin, j'ai ce cas au boulot donc demain au pire si personne n'est passé par là je te confirme, en attendant y'a plus qu'a tester]

    Bonne nuit

    A la fin du code tu vide ta variable et c'est bon...

    [Edit]
    Pour ma par je viens de vérifier et cela fonctionne...
    [/Edit]

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

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Et pour affecter la valeur de la liste déroulante à une variable, il suffit que je mette comme code SQL :

    INSERT MaVar = NomdetaZone.value

    UPDATE Points SET Points.Points = Points!Points+50
    WHERE (((Points.Nom_Prenom)="' & MaVar & '"));

    Ca va comme ca ??

    Merci!

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/08/2014, 15h43
  2. Imprimante sous Access 2007
    Par texas2607 dans le forum Access
    Réponses: 6
    Dernier message: 02/08/2007, 10h57
  3. Probleme de création nouvelle base sous ACCESS 2007
    Par choco95 dans le forum Sécurité
    Réponses: 3
    Dernier message: 10/07/2007, 08h09
  4. Pourquoi développez vous sous Access 2007 encore en beta ?
    Par Lou Pitchoun dans le forum Sondages et Débats
    Réponses: 22
    Dernier message: 25/01/2007, 12h12
  5. Problème Sous Access Gestion Stock
    Par aounnate dans le forum Access
    Réponses: 9
    Dernier message: 11/10/2006, 14h30

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