[ACCESS] Requête SQL URGENT SVP

Résolu
Bonjour,

Mon problème est que j'aimerais soustraire le champ "nbr_choisit" (qui reçoit une valeur tapée) dans la table ""prêt"" a "nbr_stock" dans la table ""produit"".

J'ai tenté une requête SQL mais je trouve pas la syntaxe exact

Merci d'avance.

33 réponses

Résumé de la discussion

Le problème porte sur la soustraction du champ nbr_choisit de la table prêt vers nbr_stock de la table produit, et la difficulté d’écrire une requête SQL exacte pour appliquer cette opération. Une des réponses indique que la solution fonctionne mais modifie le stock de tous les produits au lieu d'un seul; l'idée est donc d'appliquer le calcul à un identifiant produit spécifique. D'autres propositions suggèrent d'utiliser une requête UPDATE avec une clause WHERE et de préciser l'identifiant du produit, comme alternative à la mise à jour globale.

Bobot (l’IA à votre service)
  1. vu qu'il fesait a trois enregistrement, je suis allé dans propriété-->enregistrement max-->1

    :D
    1. oki j'ai fait du SQL serveur , tu peux toujours poser ta question, je verrais si je peux faire quelquechose ^^

      A force d'petre sur un problème on ne voit plus rien xD
      1. Bin en fait, j'essaie désespérément de résoudre mon propre soucis... Sans succès.
        Donc, ça aurait été avec joie mais j'ai pas vraiment le temps, désolé.
        (dis-je alors que je viens de passer la moitié de ma journée à t'aider XD)

        Une prochaine fois ;)
        1. t'en a déja fait beaucoup je te remercie, si ça te dis d'y jeter un oeil je peux te l'envoyer, si tu a la flemme, pas grave ^^

          Merci mille fois encore
          1. mais justement ca dépend du produit que je prete

            l'utilisateur rentre la valeur dans nb_choisit, clique sur la requête, et sa soustrait le nbr_prod
            Ca ca fonctionne, mais pourquoi il me le fait a trois produit en même temps xD

            faut que je trouve
            1. Modérateur
              Salut,

              colle ta requête, y'a sûrement une explication.
          2. Retire les [ ] et remplace produit.ID_prod par le numéro du produit que tu veux modifier.
            1. WHERE ((pret.ID_prod)=[produit.ID_prod]);

              T'as mit des [ ] pour le second membre...
              1. UPDATE produit INNER JOIN Pret ON produit.ID_prod = Pret.ID_prod SET produit.nb_prod = produit.nb_prod-pret.nb_choisit
                WHERE ((pret.ID_prod)=[produit.ID_prod]);

                voila ce que ca donne, mais il me change toujours les trois meme produits ( il enleve 4 au premier, 1 au deuxieme et 2 au troisieme -_-
                1. si j'identifie avec l'identifiant du produit je met a la place de valeur "ID_prod"?
                  1. Désolé, j'étais parti manger.

                    Tu remplace [valeur] par le numéro (ou le nom...) qui va identifier le produit que tu veux modifier.

                    Et en fait, j'ai mi Identifiant... mais ce n'est pas forcément ce nom là que tu dois mettre!!
                    Tout dépend de la clé primaire de ta table Produit.
                    1. Ah, c'était ma crainte...
                      Dans ce cas, il faudrait passer par une fonction, je pense (pour pouvoir utiliser un paramètre)

                      Ah! ou alors, rajouter

                      where produit.identifiant = [valeur]


                      Après ta jointure... ?
                      • 1
                      • 2