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 :

Insérer ligne de champ d'une requête dans formulaire


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Insérer ligne de champ d'une requête dans formulaire
    Bonjour à tous !

    Je suis tout nouveau ici, et plutôt un débutant sous Access. Je suis actuellement stagiaire dans une PME, et on me demande de créer une bdd "Magasin" répertoriant les articles et outils, et les associant à tel chantier. C'est globalement une gestion de stock.

    J'ai créé une table T_Article qui répertorie mes différents articles et qui est alimentée par un formulaire. J'ai aussi créé un formulaire pour gérer mes mouvements de stocks qui aliment une table T_Mouvements, avec un champ "entrée", et un champ "sortie". J'aimerai que ce dernier formulaire m'affiche le stock actuel lors de l'enregistrement d'un mouvement de stock à côté d'un champ m'indiquant un stock mini propre à chaque article. J'ai donc créé une requête me redonnant l'état des stocks par article en faisant la somme des entrée moins les sorties. Mais je n'arrive pas à afficher la ligne de champ du résultat de la requête correspondant à l'article concerné par le mouvement de stock, donc duquel je veux connaitre le stock.

    Merci d'avance pour votre aide !

    Julien

    (Voici la requête Etat_du_Stock :

    SELECT T_Mouvement_Stock.Mouvement_Stock_Famille_Article_Designation, T_Mouvement_Stock.Mouvement_Stock_Designation_Article, Sum(Entree_Stock_Quantite)-Sum(Sortie_Stock_Quantite) AS Stock
    FROM T_Mouvement_Stock
    GROUP BY T_Mouvement_Stock.Mouvement_Stock_Famille_Article_Designation, T_Mouvement_Stock.Mouvement_Stock_Designation_Article;

    Et voici la tête du formulaire :

    Nom : Capture.PNG
Affichages : 290
Taille : 19,9 Ko

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Si c'est pour un simple affichage, je te propose d'utiliser les fonctions de domaines dont tu as toutes les explications dans le tuto de référence ICI.
    Tu pourras utiliser ta requête comme source de la fonction de domaines ou directement interroger la table T_Mouvement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    = DSum("[Entree_Stock_Quantite]";"[T_Mouvement_Stock]";"[Mouvement_Stock_Famille_Article_Designation]=" & ZonedeListeFamilleArticle & " AND [Mouvement_Stock_Designation_Article]" & ZonedeListeArticle) - DSum("[Sortie_Stock_Quantite]";"[T_Mouvement_Stock]";"[Mouvement_Stock_Famille_Article_Designation]=" & ZonedeListeFamilleArticle & " AND [Mouvement_Stock_Designation_Article]" & ZonedeListeArticle)
    Code à améliorer et modifier selon les types de Mouvement_Stock_Famille_Article_Designation et Mouvement_Stock_Designation_Article et prévoir l'utilisation de la fonction Nz au cas ou certaines sommes sont Null. N'hésites pas à chercher l'aide sur la fonction DSum.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour ce retour. Entre temps, j'ai réussi à me dépatouiller grâce à un petit tour de passe-passe : j'ai généré une nouvelle table T_Stock via ma requête, et j'ai ensuite appelé un champ de cette table dans mon formulaire en mettant les relations qui vont bien. Pour l'instant ça fonctionne, à voir si ça sera assez robuste lorsque la table T_Stock sera supprimée à chaque fois que je relance la requête (j'en doute). Sinon, je me lancerai dans les fonctions de domaine, merci à vous !

    Cordialement,

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Ne pas crier victoire trop vite !

    C'était trop beau, mon tour de passe-passe n'a pas tenu longtemps : il m'empêchait d'ajouter d'autres enregistrement, car il ne voulait pas voir les champs supérieurs vide (affichage du message d'erreur "Impossible d'atteindre l'enregistrement spécifié").

    Enfin bon, du coup j'ai essayé de créer une zone de texte indépendante et d'y inscrire la fonction de domaine que tu m'as donné. La voici modifiée (j'ai pas trop compris les '&'..) :

    =SomDom("[Entree_Stock_Quantite]";"[T_Mouvement_Stock]";"[Mouvement_Stock_Famille_Article_Designation]"="[forms!F_Mouvement_Stock!Mouvement_Stock_Famille_Article_Designation]" Et "[Mouvement_Stock_Designation_Article]"="[forms!F_Mouvement_Stock!Mouvement_S

    Par contre, ça ne fonctionne pas... Pas d'erreur, mais ça ne m'affiche pas de stock.

    HELP PLEASE !

    En tout cas merci d'avance !

Discussions similaires

  1. [AC-2007] Calcul d'écart de valeur entre chaque ligne d'un champ d'une requête
    Par Ahlmael dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/12/2014, 11h54
  2. Réponses: 2
    Dernier message: 30/09/2014, 14h10
  3. [AC-2003] Insérer Nb jours ouvrables dans le champ d'une requête
    Par Lar Balette dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 14/02/2013, 17h10
  4. Insérer un saut de ligne dans un champ d'une requête
    Par devdev dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/03/2009, 11h19
  5. [SQL] Renommer un champ dans une requête
    Par martonpylon12 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 15/11/2003, 01h59

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