Rechercher : dans
Par :

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

Dernière réponse le 7 jui 2003 à 14:52:52 Yapou, le 7 jui 2003 à 10:48:36 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « [Access] Requête de mise à jour entre deux ta » dans :
Mise à jour d'AntiVir impossible ? VoirImpossible de mettre à jour AntiVir Suite à l'installation de l'antivirus AntiVir, vous n'arrivez pas à le mettre à jour ? Pas de panique. Problème : Lorsque vous cliquez sur "Démarrer la mise à jour", rien ne se produit ? Cause : Une...
[appareils Philips] Mise a jour firmware ou codec VoirMise a jour du firmware ou des codecs Philips pour - lecteur DVD de salon - lecteur et graveur interne PC Philips International a mis en place une nouvelle mise en page pour la recherche des firmwares et des drivers de ses appareils :...
Télécharger Norton Antivirus Mise à jour VoirVoici la dernière mise à jour téléchargeable pour l'antivirus Norton pour vous assurer une protection optimale contre les virus. Prend en charge les versions suivantes des logiciels antivirus de Symantec : Norton Antivirus 2009 for Windows XP...

1

blux, le 7 jui 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

Yapou, le 7 jui 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

 blux, le 7 jui 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