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 :

[A-00] aide requête ajout


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 42
    Points
    42
    Par défaut [A-00] aide requête ajout


    j'ai un petit soucis avec ma requête ajout, il me dit "reférence circulaire causée par l'alial "Poid total"...

    voilà le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INSERT INTO [caisse]
    
    SELECT [Poid total], [nom]
    le champ [poid total] est le résultat d'un calcul qui provient d'une autre requête  8O
    FROM [poidtotalvendu]
    
    WHERE [caisse].[nom]=[poidtotalvendu].[nom]
    
    GROUP BY [nom]
    si vous avez une idée merci d'avance

  2. #2
    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
    Re ,

    Essaie en mettant le nom de ta requête devant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [NomdeTaRequête].[Poids Total],...
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Poidstotal est un champ d'une requête nommée [poidtotalvendu]. Or cette requête regroupe les mouvements de caisse en totalisant par nom (ou par catégorie, selon notre autre discussion sur le sujet...

    C'est le serpent qui se mord la queue, puisque tu veux injecter en caisse un montant qui est calculé sur la table Caisse... Cela ne peut pas marcher.

    Pourquoi vouloir injecter en caisse le total des mouvements pour nom de produit... Si même tu y arrivais, cela doublerait la quantité de produit vendue...

    Peux-tu expliquer, en français, ce que tu souhaites obtenir ou réaliser?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  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
    Bonjour Pierre,

    C'est en fait la suite de cette discution...

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Bonjour Chtulus,


    Voire de celle-ci...

    De toute façon, il y a référence circulaire, mais je ne comprends pas la finalité de l'opération...

    Quoi qu'il en soit, il y a au départ un problème de conception. On stocke les données de caisse dans une seule table, avec la date de la transaction.

    Le reste, ce n'est que créer des requêtes pour analyser, sommer, les données. Il n'y a à mon sens aucun transfert de données à réaliser. Je pense que le problème est là et que même si Nadège trouve une solution à ce problème-ci, elle va au devant d'un autre.

    Nadège: Pourrais-tu détailler la structure de la table Caisse et de la requête PoidstotalVendu?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    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
    On pense bien la même chose
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    oui je sais j'ai beaucoup de questions sur access
    mais maintenant je connais beaucoup plus de choses et je peux même aider d'autres personnes

    à la base ce que je voulais faire c'était une simple soustraction entre le resultat de ma requête et ma table stock.

    mais ca ne fonctionne pas, alors j'ai essayé d'autres moyens...

    mon but était d'oter à mon stock le "poidtotal" de ma requête "poidtotalvendu" et grouper par le nom d'article mais ca me disait

    "poidtotal" ne fait partit de la fonction d'agrégat,

    je tatonne enfait pour mieux apprendre et quand je n'arrive vraiment pas je demande comment ça fonctionne

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    En fait, il faudrait que tu donnes la structure de tes tables.

    Si tu veux gérer un stock, tu as, en gros, deux tables, l'une pour les articles en stock, une autre pour les mouvements de ces articles. Tu peux avoir une troisième table avec les catégories d'articles (c'était un peu l'idée des steaks à 200g et des steaks à 300g, regroupés en une catégorie steak).

    Avec ces trois tables, tu peux très bien fonctionner en inventaire permanent pour avoir, à chaque ouverture d'une requête, un inventaire théorique.

    Périodiquement (tous les mois, tous les trimestres), tu fais un inventaire physique qui te donne ton stock. Tu rentres alors l'inventaire physique dans une quatrième table, puis tu injectes les différences, positives ou négatives, dans ta table mouvement avec comme commentaire "inventaire physique du..."

    Ok sur la démarche théorique?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    ok pour ça,

    maintenant sans parler des stock, steack ou autre.

    je suppose que quand on fait une requête quelquonque et quon y calcul un champ, ce champ devrait pouvoir être utilisé dans d'autre requête ou table indépendemment du fait qu'il est calculé et pas saisie?

  10. #10
    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
    Pense à définir le nom de tes requêtes avec le nom de tes colonnes !

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par nadege46 Voir le message
    ok pour ça,

    maintenant sans parler des stock, steack ou autre.

    je suppose que quand on fait une requête quelquonque et quon y calcul un champ, ce champ devrait pouvoir être utilisé dans d'autre requête ou table indépendemment du fait qu'il est calculé et pas saisie?
    Bien sûr. C'est ainsi que l'on ferait l'ajustement de l'inventaire permanent sur l'inventaire physique.

    On saisit le stock physique dans une table, on sort une requête sur la différence entre le stock physique et les quantités calculées et on utilise une requête AJOUT pour ajuster le stock

    Je vais te faire un schéma comme celui que j'avais fait pour le calcul des qtés vendues.

    D'abord la structure des tables (je n'ai pas utilisé de catégories ici)

    La table des articles (structure puis données)





    La table des mouvements (structure puis données)






    La table de l'inventaire physique (structure puis données)





    Il faut ensuite créer la requête qui calcule le stock comptable à une date donnée





    Il y a donc discordance entre l'inventaire physique et l'inventaire comptable pour deux produits. On met ces discordances en évidence avec une requête





    On crée une requête AJOUT pour ajouter ces différences (positives ou négatives) en excluant les "différences nulles" pour ne pas créer de mouvements inutiles





    On exécute cette requête, qui ajoute bien deux mouvements au 31/10, comme illustré ci-dessous



    Après, pour vérification, on peut relancer la requête de calcul de la différence, pour voir que tout est à 0



    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    merci beaucoup pour la peine donnée à m'aider à comprendre access.

    jusqu'à la requête ajout je connais(de façon limitée) mais je me débrouille plutot bien.

    là ou je sollicitais votre aide car toute seule je n'arrive pas à trouver le hic c'est quand j'ai essayé de faire une requête ajout.

    ma requête a fonctionner mais je n'arrive pas à regrouper les "articles". c'est - à dire que dans la table ou j'utilise la requête ajout j'ai des doublons au lieu que les données identiques s'assemble.

    c'est sur ça que je bloquais comment faire ou grouper par quel champ pour que les "nom" ou "id" identique se regroupe et ne pas avoir 2 fois la même désignation

Discussions similaires

  1. [VB]requête ajout
    Par os_rouen dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 08/02/2006, 15h06
  2. Problème avec requête ajout
    Par mitnick32 dans le forum Access
    Réponses: 1
    Dernier message: 02/02/2006, 19h02
  3. [requête ajout]violation de clés
    Par Elro6475 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/02/2006, 13h37
  4. Réponses: 15
    Dernier message: 27/11/2005, 17h37
  5. requête Ajout
    Par lious dans le forum Langage SQL
    Réponses: 7
    Dernier message: 19/08/2004, 12h05

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