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 :

[SQL ACCESS 2003] Utilisation de DSUM


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 32
    Par défaut [SQL ACCESS 2003] Utilisation de DSUM
    Bonjour à tous !
    ça fait 4 heures que j'erre sur le web pour trouver une solution à mon problème : dans une de mes tables, je souhaite mettre en regard le montant total d'un des champs pour chaque numéro de police identique, ceci par une instruction UPDATE

    Le hic : Impossible d'imbriquer un "SELECT ..." dans un UPDATE .. SET mais j'ai trouvé la fonction qu'Access accepte : DSUM.

    Le problème est que je dois mal l'utiliser car l'exécution de la requête ne met rien à jour et j'ai un message :"Microsoft Access n'arrive pas à mettre à jour tous les enregistrements de la requête Mise à jour"

    Ci-dessous ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE Import AS M1
    SET M1.SUM_POLEFF = DSUM("[Montant du mouvement Compagnie €]","Import","[N° de police] = " & M1.[N° de police]);
    J'ai l'impression que c'est le troisième argument qui coince : la condition ne parait pas explicite pour Access.

    Pliz aidez moi, je fais une contre réaction à Google

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 437
    Par défaut
    Salut je pense que ton problème vient plutôt d'une erreur de conception.

    La ligne de SQL que tu as écrite utilise la table IMPORT que tu mets à jour.

    UPDATE Import AS M1
    SET M1.SUM_POLEFF = DSUM("[Montant du mouvement Compagnie €]","Import","[N° de police] = " & M1.[N° de police]);

    Remarque, en général sauf problème de performance, on ne garde pas les résultats de calcul dans une table. On utilise une requète qui fait et affiche le calcul comme cela on est sur d'avoir un résultat à date.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 32
    Par défaut
    Bonjour,

    effectivement je pourrais décomposer mon opération mais je trouve qu'utiliser une seule fonction est vraiment pratique pour des questions de maintenance plutot que d'utiliser des tables temporaires car j'ai plusieurs tables concernées soit autant de tables temporaires en plus.

    J'ai également essayé de créer un requête dans le 2è argument mais c'est considéré comme une erreur de syntaxe.

    Aurais-tu une alternative à tout ça ?

    Merci quand de t'être penché sur mon pb

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 437
    Par défaut
    Citation Envoyé par massif Voir le message
    Bonjour,

    effectivement je pourrais décomposer mon opération mais je trouve qu'utiliser une seule fonction est vraiment pratique pour des questions de maintenance plutot que d'utiliser des tables temporaires car j'ai plusieurs tables concernées soit autant de tables temporaires en plus.
    Mon point avec ton instruction c'est que la table Import se compte elle-même et je ne pense pas que cela soit une bonne chose. Ça me parait créer une sorte de boucle infinie.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    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 : 46
    Localisation : France, Rhône (Rhône Alpes)

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

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

    Si je peux me permettre, les fonctions de domaines sont à éviter, non ?
    « 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



  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 437
    Par défaut
    Chtulus, tu as raison mais cela ne veux pas forcément dire qu'elles sont à bannir :o). Bien utilisées elles sont très pratiques.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [AC-2003] Exercice d'SQL access 2003
    Par niko999 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/05/2010, 16h51
  2. Réponses: 2
    Dernier message: 20/05/2008, 16h37
  3. Réponses: 1
    Dernier message: 01/05/2007, 17h38
  4. [Requête SQL][ACCESS 2003] - Fonction TOP, DISTINCT
    Par guiguikawa dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 20/06/2006, 11h41
  5. SQL normalisé OU SQL Access ... Lequel utiliser ... ?
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 29/11/2005, 16h09

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