rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Access] Requête de mise à jour entre deux ta

Posté par Yapou, le lundi 7 juillet 2003 à 10:48:36
Bonjour quelqu’un pourrait il m’expliquer en détails comment réaliser sous Access une requête de mise à jour entre deux tables.
Mes deux tables sont « Import1 » et « Import2 ». Elles ont une structure identique. G une macro Excel qui envoie les données dans import2 et je veux les mettre à jour dans import1 qui est vide. Pour ça j’ai fait un requête de mise a jour mais quand je l’exécute cela me marque que 0 ligne vont être insérées. Je débute dans Access donc y’a un truc que je ne dois pas savoir. D’avance merci.
Répondre à Yapou  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le lundi 7 juillet 2003 à 13:43:33
Salut,

ben en fait, y'a rien de compliqué... Peut-être que tu confonds mise à jour (de champ dans une table) et insertion de nouvelles lignes.

INSERT INTO ajoute des lignes à la table
UPDATE modifie des valeurs dans un ou plusieurs champs

Peut-être que ta requête devrait comencer par INSERT INTO, non ?

Si je me trompe, donne-moi le texte de ton SQL...

A+ Blux
 "Les cons, ça ose tout.

C'est même à ça qu'on les reconnait"
Répondre à blux

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yapou, le lundi 7 juillet 2003 à 14:43:54
Voilà le code sql associé a cette requette :

[code]
UPDATE Import1 INNER JOIN Import2 ON Import1.Libellé = Import2.Libellé SET Import2.Libellé = "Libellé", Import2.COB = "COB", Import2.Garantie = "Garantie", Import2.IAF = "IAF", Import2.Gestionnaire = "Gestionnaire", Import2.[Depositaire/Emetteur] = "Depositaire/Emetteur", Import2.[Rating LT Dépositaire] = "Rating LT Dépositaire", Import2.VL = "VL", Import2.[Nb de parts] = "Nb de parts";
[/code]

Ptet ke je fais fausse piste avec une requete de mise a jour.

Ce que je veux faire en fait, c pouvoir quand je le souhaite récupérer des données d'une feuille excel vers ma table Access avec une mise à jour des informations entre deux imports de excel vers access. A partir du moment ou je rentre de nouvelles lignes ds ma table excel, ou ke je fais une modif (je change une valeur par exemple) sur une ligne existante, je veux que cela se répercute dans ma table access. Mais je n'y parviens tjrs pas :(
J'avais réussi grâce a une macro a importer mes données de excel vers acces les unes après les autres c a dire que les lignes de mon second import se mettent a la suite de celle du premier. Le pb c que cela me rajoute des lignes pour rien. En effet, lors du second import, certaines lignes dont g modifié une valeur par exemple vont se mettrent a la suite des autres. Alors que c ke je veux c ke, kan je fais un nouvel import, si les produits importés sont nouveaux (c ma colonne "Libellé"), ils se mettent a la suite des autres; mais si le libellé existent déjà alors il faudrait écraser l'ancienne ligne avec les anciennes valeurs et donc mettre à jour les champs concernés.

On m'a dit d'essayer avec une requête de mise a jour avec deux tables identiques. Kom je suis débutant en access je ne sais pas si c la meilleure solution, donc si vous pouvez me conseiller autre chose c génial car je bloque là dessus depuis 3 jours.
Répondre à Yapou

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 blux, le lundi 7 juillet 2003 à 14:52:52
et bien, il faut deux requêtes, une pour insérer des nouvelles lignes et l'autre pour mettre à jour des valeurs existantes.

On peut s'en sortir autrement (s'il n'y pas de relations entre Import1 et d'autres tables) en supprimant les données de la table avant de les réimporter

DELETE * FROM Import1;
INSERT INTO Import1 SELECT * FROM Import2;

A+ Blux
 "Les cons, ça ose tout.

C'est même à ça qu'on les reconnait"
Répondre à blux
Logiciels pertinents trouvés dans les téléchargements
Télécharger Windows XP SP2 1.0Windows XP SP2 - Les Service Packs constituent un moyen pratique, tout en un, d'accéder aux derniers pilotes, outils et améliorations en...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Télécharger OpenOffice.org 2.4.1OpenOffice.org - OpenOffice est une suite bureautique complète entièrement gratuite, compatible avec la suite Microsoft Office. Elle...Catégorie: Suite bureautique
Licence: Open Source
Télécharger The Rasterbator 1.2The Rasterbator - The Rasterbator permet de créer des posters à partir de vos images préférées. Il est très simple d'utilisation:...Catégorie: Graphisme
Licence: Open Source
Télécharger Tab Scope   0.2.2.8Tab Scope - Afin d'améliorer votre navigation sur Firefox et optimiser l'utilisation des onglets, utilisez dès maintenant Tab Scope. ...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [Access] Requête de mise à jour entre deux ta »