Importer des données d'une table importée à une autre table

Importer des données d'une table importée à une autre table - Divers - Programmation

Marsh Posté le 26-03-2014 à 15:26:45    

Bonjour,
 
 
Je viens vous exposer un gros problème dans ma base de données (access 2003). Je vais d’abord vous l’expliquer en quelques mots pour que vous puissiez mieux vous faire une idée :
 
- J’ai une table client dont dépendent le reste des tables par tes liens one-to-one ou one-to-many.
- J’ai créé un formulaire avec pour base ma table client, dans laquelle j’ai ajouté toutes les autres tables sous forme de sous-formulaires. (Je l’ai testé dans tous les sens et les liens fonctionnent parfaitement).
- J’ai importé des données d’un fichier excel dans ma base de données, en vérifiant bien que les noms des champs correspondent et soient mis dans l’ordre.  
- Toutes ces données se trouvent dans une table baptisée « champs pour importation ».
 
Ces données doivent être divisées en plusieurs tables préexistantes (par exemple les trois premières colonnes correspondent aux enregistrements à importer dans la table client, les colonnes 4 à 6 correspondent aux enregistrements à importer dans la table adresse).
Lorsque je veux mettre les données correspondantes dans la table client, je peux le faire sans problème, que ce soit par copier-coller ou requête d’ajout.
Toutefois, lorsque je veux faire la même chose dans les autres tables, cela ne fonctionne pas.
Il y a « violation de la clé » ou on me dit que les enregistrements doivent avoir des enregistrements associés à la table client. Comment puis-je « faire comprendre » à access qu’il s’agit des enregistrements correspondants à ma table principale ? Suis-je condamnée à devoir tout rentrer manuellement ? (il y a plusieurs centaines d’enregistrements !)
 
Un tout grand merci à qui m’apportera la solution !
 
 

Reply

Marsh Posté le 26-03-2014 à 15:26:45   

Reply

Marsh Posté le 26-03-2014 à 15:40:21    

A mon avis, les liens entre tes tables et celle "client" se font logiquement par un ID (un nb entier en général). Ton pb, c'est que pour insérer en enregistrement dans l'une de ces tables, il faut que tu penses à mettre l'ID du client correspondant, chose que tu ne fais probablement pas. Par ailleurs, dans ces tables, il doit y avoir aussi une clé primaire (un nb entier aussi), généralement auto-incrémenté mais c'est pas obligatoire. Du coup, lors de l'insert, faut aussi renseigner ce champ avec une valeur unique si c'est pas auto-incrémenté.
 
En général, pour un import, on fait un script qui se charge de touts ces "calculs" et vérifs d'unicité..


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed