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

Access Discussion :

Débutant - Ne pas faire apparaitre une msgbox


Sujet :

Access

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut Débutant - Ne pas faire apparaitre une msgbox
    Bonjour,

    Débutante en ACCESS et pas informaticienne du tout, je cherche à créer une base de données pour gérer une cave de vins.
    J'ai créé une requête pour compter le nombre de bouteilles restantes, à partir une table A_VIN dans laquelle je saisis la quantité de bouteilles achetées (QuantitéAchat) pour un vin donné, et d'une table A_DEGUSTATION_SF_VIN, dans laquelle je saisis la quantité de bouteille bues (QuantiteDegustation), sachant qu'il peut y avoir plusieurs dégustation, donc plusieurs QuantiteDegustation, pour un même vin.
    L'objectif de la requête est d'avoir dans un même champs (QuantiteRestante), soit le nombre de bouteilles achetées (si aucune bouteille n'a été bue), soit le nombre de bouteilles restantes (s'il y a eu 1 ou plusieurs bouteilles ouvertes).

    Le code de ma requête est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT A_VIN.CodeVin, A_VIN.QuantitéAchat, 
    Sum(A_DEGUSTATION_SF_VIN.QuantiteDegustation) AS QuantiteBue, 
    IIf([QuantiteBue] Is Not Null,[QuantitéAchat]-[QuantiteBue],[QuantitéAchat]) AS QuantiteRestante
    FROM A_VIN LEFT JOIN A_DEGUSTATION_SF_VIN ON A_VIN.CodeVin = A_DEGUSTATION_SF_VIN.CodeVin
    GROUP BY A_VIN.CodeVin, A_VIN.QuantitéAchat, 
    IIf([QuantiteBue] Is Not Null,[QuantitéAchat]-[QuantiteBue],[QuantitéAchat]);
    Comme vous le voyez, j'ai renommé dans la requête la somme des QuantiteDegustation en QuantiteBue.
    Le problème que je rencontre : lorsque j'exécute la requête, une msgbox s'affiche, qui me demande d'entrer la valeur du paramètre QuantiteBue... Je n'ai qu'à cliquer sur le bouton OK sans entrer de valeur pour que ma requête s'exécute correctement, mais évidemment, je souhaiterais que cette msgbox n'apparaisse pas. Je pense qu'il faut que j'intègre une instruction qui me permette de "shunter" la msgbox, mais je ne sais pas comment faire...

    Si quelqu'un peut m'aider, ça serait super sympa !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 80
    Points : 71
    Points
    71
    Par défaut
    bonjour,

    ta requête pose un problème: tu ne peux pas utiliser un alias dans la requete alors Access interprete [QuantiteBue] comme un paramètre. Remplace le partout par sa valeur Sum(A_DEGUSTATION_SF_VIN.QuantiteDegustation) ça devrait arranger des choses. En fait pas partout: dans le group by ça va poser un problème si tu le laisse puisque c'est une fonction de regroupement ... ne laisse p-e que [QuantitéAchat] dans le group by.

  3. #3
    Membre régulier

    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Points : 104
    Points
    104
    Par défaut
    Je viens d'essayer ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_bouteilles.nb_bouteilles, T_degustation.quantite_bue, iif(T_degustation.quantite_bue is not null, T_bouteilles.nb_bouteilles-T_degustation.quantite_bue, 500)  as diff
    from T_bouteilles
    left join T_degustation on T_bouteilles.Id=T_degustation.Id
    Ca marche.

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Merci pour vosréponses, qui m'ont mise sur la voie.
    Le problème venait du regroupement : dans la requête, j'ai remplacé l'opération regroupement par l'opération expression, et ça fonctionne ! Plus de message d'erreur.
    Comme quoi, il ne faut vraiment rien louper dans ACCESS, ça ne pardonne pas !

    Merci encore !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2013, 09h01
  2. Réponses: 0
    Dernier message: 31/12/2011, 19h04
  3. Faire apparaitre une page sur une page existante (pas de popup)
    Par johnson95 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/01/2010, 14h44
  4. Ne pas faire apparaitre la légende d'une figure dans la liste de figures
    Par fleure dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 12/05/2009, 13h27
  5. Réponses: 1
    Dernier message: 09/02/2008, 18h55

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