En vrac :
- Il est préférable (pour le pourquoi, c'est indiqué partout sur le forum) d'utiliser les requêtes paramétrées (c'est du vb mais bon... ça se traduit)
- Il faut rester cohérent entre le types des valeurs insérées et les types de données des colonnes dans lesquelles on insère
J'imagine que la colonne id est de type numérique (int ?). Dans ton ordre d'insertion, tu l'entoure d'apostrophe. Ce qui définit une chaîne de caractère...
Mais ce problème se résoud tout seul à partir du moment où vous utilisez des requêtes paramétrées.
- Contrairement à ce qu'à dit Ph_Gr, la syntaxe INSERT INTO MATABLE(COL1,COL2) SELECT VAL1,VAL2 [FROM UNEAUTRETABLE [WHERE ...]] est tout à fait valide (qu'il aille donc apprendre les bases du language SQL comme il le suggère).
- Par contre, rien n'assure que la requête que vous indiquez est correcte. Nous ne connaissons pas votre modèle de données.
- Vous semblez faire des jointures dans la clause WHERE. Utilisez donc les clauses JOIN. Le résultat est le même mais la lecture de la requête en est facilitée.
- Concernant le message d'erreur pour lequel vous écrivez, d'après ce que vous donnez comme info, vous tentez d'insérer une ligne dans la table produit avec un id de famille qui n'existe pas dans la table famille.
Partager