Problème requête Access 2007
Loul du 63
-
Loul du 63 -
Loul du 63 -
Bonjour à tous,
Je suis en train de réaliser une base de donnée access, j'ai réussi à créer mes tables et mes formulaires mais je souhaiterai écrire une requête et là ca coince...
J'ai deux tables et j'aimerai dans un premier temps extraire certaines lignes de ma première tablecommande (celle dont l'etat à pour valeur texte "en attente d'archivage"), pour l'archiver dans une seconde. Je compte créer une autre requête afin de supprimer les lignes archivées.
J'ai utilisé la commande ajout et j'ai modifié la requête SQL et j'ai un problème "le nombre de valeurs de la requête doit coïncider avec le nombre de champs de destination"
Mon code est le suivant:
INSERT INTO [tableArchives](nomchamp1A,nomchamp2A,nomchamp3A)
SELECT tableCommande.[nomchamp1,nomchamp2,nomchamp3]
FROM tableCommande
WHERE tableCommande.Etat_commande=="En attente d'archivage";
pour info ma table commande possède plus de champ que ma table archive mais je ne veut pas tous les copier...( je me moque de copier le champ Etat_commande par exemple)
Merci pour votre aide
Loul
ps: j'ai utilisé la requête ajout car j'ai essayé de faire requête sql directe avec le même code mais il me demande d'importer une base de données ODBC, je comprends pas pourquoi car j'utilise une unique base de données..
Je suis en train de réaliser une base de donnée access, j'ai réussi à créer mes tables et mes formulaires mais je souhaiterai écrire une requête et là ca coince...
J'ai deux tables et j'aimerai dans un premier temps extraire certaines lignes de ma première tablecommande (celle dont l'etat à pour valeur texte "en attente d'archivage"), pour l'archiver dans une seconde. Je compte créer une autre requête afin de supprimer les lignes archivées.
J'ai utilisé la commande ajout et j'ai modifié la requête SQL et j'ai un problème "le nombre de valeurs de la requête doit coïncider avec le nombre de champs de destination"
Mon code est le suivant:
INSERT INTO [tableArchives](nomchamp1A,nomchamp2A,nomchamp3A)
SELECT tableCommande.[nomchamp1,nomchamp2,nomchamp3]
FROM tableCommande
WHERE tableCommande.Etat_commande=="En attente d'archivage";
pour info ma table commande possède plus de champ que ma table archive mais je ne veut pas tous les copier...( je me moque de copier le champ Etat_commande par exemple)
Merci pour votre aide
Loul
ps: j'ai utilisé la requête ajout car j'ai essayé de faire requête sql directe avec le même code mais il me demande d'importer une base de données ODBC, je comprends pas pourquoi car j'utilise une unique base de données..
A voir également:
- Problème requête Access 2007
- Save as pdf office 2007 - Télécharger - Bureautique
- Comment supprimer une page sur word 2007 - Guide
- Acer quick access - Forum Logiciels
- Reparer outlook 2007 ✓ - Forum Outlook
- Access appdata - Guide
7 réponses
Salut,
Heu je vois pas trop de problème ayant un rapport avec ton message d'erreur, mais il me semble que
Heu je vois pas trop de problème ayant un rapport avec ton message d'erreur, mais il me semble que
WHERE tableCommande.Etat_commande=="En attente d'archivage";est incorrect, en SQL il ne faut qu'un signe "="
J'ai peut être trouvé j'ai plus d'erreur quand je tape:
INSERT INTO [tableArchives](nomchamp1A,nomchamp2A,nomchamp3A)
SELECT tableCommande.[nomchamp1],[nomchamp2],[nomchamp3]
FROM tableCommande
WHERE tableCommande.Etat_commande="En attente d'archivage";
ça fait des crochets dans tous les sens mais ya plus d'erreurs!!!
merci Gaunts
INSERT INTO [tableArchives](nomchamp1A,nomchamp2A,nomchamp3A)
SELECT tableCommande.[nomchamp1],[nomchamp2],[nomchamp3]
FROM tableCommande
WHERE tableCommande.Etat_commande="En attente d'archivage";
ça fait des crochets dans tous les sens mais ya plus d'erreurs!!!
merci Gaunts
Bon maintenant quand j'associe ma requête à un bouton de formulaire, j'ai l'erreur suivante:
"Une requête INSERT INTO ne peut pas contenir un champ à plusieurs valeurs"
Pourtant chaque champs que je veut copier contient au plus 1 unique valeur
Je ne vois pas d'où viens la faute..
Merci d'avance
"Une requête INSERT INTO ne peut pas contenir un champ à plusieurs valeurs"
Pourtant chaque champs que je veut copier contient au plus 1 unique valeur
Je ne vois pas d'où viens la faute..
Merci d'avance
Salut, essaye ça:
INSERT INTO tableArchives ( nomchamp1A, nomchamp2A, nomchamp3A ) SELECT tableCommande.nomchamp1, tableCommande.nomchamp2, tableCommande.nomchamp3 FROM tableCommande WHERE tableCommande.Etat_commande = "En attente d'archivage"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour ton aide,
j'ai fais ta modification, mais j'ai toujours la même erreur.
Voilà mon code actuel, tu trouvera peut être l'erreur
INSERT INTO Archives ( DésignationA, Numéro_de_CommandeA, Nom_aéronefA, DélaiA, Nom_intervenantA, DuréeA, Date_de_finA, LieuA, Date_de_réceptionA, DéfautA )
SELECT Commande.Désignation, Commande.Numéro_de_Commande, Commande.Nom_aéronef, Commande.Délai, Commande.Nom_intervenant, Commande.Durée, Commande.Date_de_fin, Commande.Lieu, Commande.Date_de_réception, Commande.Défaut
FROM Commande
WHERE ((Commande.Etat_commande)="En attente d'archivage");
j'ai fais ta modification, mais j'ai toujours la même erreur.
Voilà mon code actuel, tu trouvera peut être l'erreur
INSERT INTO Archives ( DésignationA, Numéro_de_CommandeA, Nom_aéronefA, DélaiA, Nom_intervenantA, DuréeA, Date_de_finA, LieuA, Date_de_réceptionA, DéfautA )
SELECT Commande.Désignation, Commande.Numéro_de_Commande, Commande.Nom_aéronef, Commande.Délai, Commande.Nom_intervenant, Commande.Durée, Commande.Date_de_fin, Commande.Lieu, Commande.Date_de_réception, Commande.Défaut
FROM Commande
WHERE ((Commande.Etat_commande)="En attente d'archivage");
Oui j'ai créé une table Archives.
Sinon pour la requête en mode création, je ne m'y connais pas trop.
C'est un tableau
La ligne champ renseigne les champs des tables
La ligne table est tout le temps égale à Commande
et la ligne "Ajouter à" renseigne les champs associés de la table archives
et la dernière colonne est champ=Etat_commande; Table=commande; critères="en attente d'archivage"
Voilà ça ne me parle pas trop mais bon ça semble pas faux.
Sinon les types de mes champs sont de type texte ou date ça pose pas de pb??
Sinon pour la requête en mode création, je ne m'y connais pas trop.
C'est un tableau
La ligne champ renseigne les champs des tables
La ligne table est tout le temps égale à Commande
et la ligne "Ajouter à" renseigne les champs associés de la table archives
et la dernière colonne est champ=Etat_commande; Table=commande; critères="en attente d'archivage"
Voilà ça ne me parle pas trop mais bon ça semble pas faux.
Sinon les types de mes champs sont de type texte ou date ça pose pas de pb??