Problème Requête SQL INSERT INTO sous access [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
25 mai 2005
-
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
25 mai 2005
-
Bonjour,

J'ai un problème avec une requête INSERT INTO.

En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ces champs, il se trouve que leurs valeurs ne se placent pas à la 1ère ligne de la table mais au niveau de la fin des autres champs déjà dans la table. Ce qui fait que cela décale mes lignes. Rien ne correspond.

Comment faire pour que ces champs provenant de l'autre table puisse commencer à la 1ere ligne ?

Merci d'avance.

7 réponses

Messages postés
63
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 juin 2005

Dans ta première requête, tu réalise un ajout (insert into blabla ...) et cela fonctionne.
Mais pour le seconde requête tu ne dois pas faire d'ajout mais une mise à jour (UPDATE).

Tecman
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
32
Salut,



Essaie de reformuler ta question,

car je ne comprends pas.



Les champs colonnes pour moi fields

Les lignes enregistrements rows



Un insert place toujours les enregistrements à la fin.

Si un select definis un ordre de tri il y a pas de pb

Si tu veux vraiement mettre en premier les dernier enregistrements ajoutés met une colonne date d'ajout et tri dessus?



Expose plus ton probleme, base de données utilisées, colonnes
clés primaire = tri par défaut (je crois), son type (chaine, entier,
nombre alétaoire, guid,....)



Deja la reponse pourrais etre plus claire.



Voila,
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
25 mai 2005

Re,

J'ai 1 table (disons table1) sous access que j'ai importée. Elle comporte des champs inutiles et je dois faire des requetes dessus. J'ai donc décidé de créer une autre table (appelons la table2)
J'ai créé cette nouvelle table en ne gardant que les champs (=colonnes) que je voulais garder et j'ai créé d'autres champs.
Maintenant que j'ai créé les champs dans cette nouvelle table, il faut que je les remplisse. C'est ce que j'ai fait un insérant les colonnes des champs que je voulais garder dans la nouvelle table.
Ensuite, j'ai voulu faire une requete à partir de la table1. Mon calcul est réussi mais mais je souhaite l'insérer dans ma table 2 dans un champ que j'ai auparavant défini. Et la quand je l'insère il me mets mes calculs bien ds la bonne colonne de la table 2. Mais pas au niveau de la 1ere ligne ! Hallucinant !!! Il me colle mes résultats apres les résultats des requetes précedentes.

Je ne comprends pas ce qui se passe. En tout cas, j'espère avoir été clair.
Je te remercie de m'aider. Si y a des choses que tu n'as pas encore comprises n'hésite pas.
Messages postés
63
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 juin 2005

Comme te le disais 84425 nhervagault, l'insertion de données dans une table se fait successivement aux enregistrement déjà existants.

D'aprés ce que j'ai compris, ton souci n'est pas à l'insertion des données, mais à la présentation.
Notre cher =84425 nhervagault te donne la solution, fair eun tri sur un champ voulu.
Tu peux reprendre son idée d'ajouter un champ date (à initialiser lors de l'insertion).

Bon courage.
Tecman
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
25 mai 2005

En fait, vous avez pas trop compris mon problème et c'est normal.
J'insère des enregistrements dans des colonnes vides, et bizarrement ils ne se placent pas à la
1ere ligne.
Exemple : J'insère dans le champ Résultat (vide au départ) de la table1 les résultats d'une requete de la table2. Mes lignes du champ Resultat sont bien remplis dans la table1 a partir de la 1ere ligne.
Je souhaite ensuite remplir le champ Conso de la Table1 à l'aide d'une autre requete. Quand j'insere les résultats dans ce champ, les enregistrements se placent non a la 1ere ligne mais au niveau du dernier enregistrement du champ résultat. Je ne comprends pas pkoi il ne se met pas a la 1ere ligne.
C'est comme si le fait d'avoir insérer des résultats auparavant avaient remplis mes autres champs alors qu'il n'y a rien !!!!

Encore merci de votre aide car je suis bien bloqué.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
32
Salut,



Quel est le but de gérer tes enregistrements sur deux tables. Si les données sont quasi identique entre les deux tables.

Cette technique est utiliseée pour la gestion des champs lourds (texte, ..)



Donc si je vois le modele de la base de données que tu utilises ,
tu dois avoir une relation 1..1 entre les deux tables.

Pour ta deuxieme requete il faut faire un update avec un where

sur la cles etrangere avec ta table 1.

Un update met a jour les lignes et n'en crée pas (ce qui semble ce passer chez toi???)



Voila
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
25 mai 2005

Merci la solution était bien en effet de faire un update.