Reconstruire la base de données

Bonjour à tous,

Je viens de m'inscrire mais le forum est pour moi une source d'information très importante.

Dans mes divers outils pour le travail, je m'inspire grandement de vos solutions.

Aujourd'hui je me décide à revenir vers vous pour résoudre un problème de reconstruction de base que je souhaite faire pour sortir un dashboard en presque temps réel

Je m'explique :

je travail sur une appli web en ligne réalisé avec 'nuBuilder' en Javascript et en PHP qui enregistre mes données dans une base Mysql.

Avec Excel je récupére trois tables en me connectant sur ma base Mysql. Jusque la tout vas bien...

J'aimerai que depuis mes 2 premières feuilles faire une feuille de synthèse car j'ai dans mes 2 feuilles une colonne qui a des références communes.

la démarche serai la suivante :

Copie feuil1-Ligne2 vers feuil3-ligne2 avec sa RefId

copie des lignes de la feuil2 vers feuil3 si la RefidTvx = RefId

puis quand c'est fait, on recommence avec copie feuil1-ligne3 vers feuil3-ligne3 etc.....

Pas sur que vous compreniez ce à quoi j'aimerai arriver alors je vous propose une fichier exemple:

Si vous pouvez m'aider en m’expliquant la démarche pour que je sache reproduire

Bonjour et bienvenu,

Si le fichier Excel est connecté à la base MySQL, le plus simple est d'exécuter une requête SQL (depuis Excel) et de récupérer le résultat, en utilisant la librairie ADO par exemple (Microsoft ActiveX Data Objects 2.5 Library)

Exemple de requête :

SELECT

[Table1].[Colonne1], [Table1].[Colonne2], ...

[Table2].[Colonne1], [Table2].[Colonne2], ...

[Table3].[Colonne1], [Table3].[Colonne2], ...

FROM Table1

INNER JOIN Table2 ON [Table2].[ColonneJointure1] = [Table1].[ColonneJointure2]

INNER JOIN Table3 ON [Table3].[ColonneJointure1] = [Table2].[ColonneJointure2]

WHERE [Table1].[ColonneX] = Condition1

AND [Table2].[ColonneX] = Condition2

C'est très efficace, rapide à l'exécution mais nécessite quelques notions de SQL (INNER JOIN / LEFT JOIN, ...)

Bouben

Merci pour la réponse,

J'ai déjà essayé mais il se trouve que dans le cas ou j'ai une référence dans la table des projets et qu'elle n'est pas dans la table des tranchesTVX, ce qui arrivera, la référence des projets n'apparaitra pas.

C'est pour ça que je souhaite passer par du code dans excel.

Je pense que tu peux t'en sortir en SQL

2 types de jointures :

FROM Table1

INNER JOIN Table2

ON [Table2].[ColonneJointure1] = [Table1].[ColonneJointure2]

=> ramène uniquement les données existent dans la table 1et la table 2

FROM Table1

LEFT JOIN Table2

ON [Table2].[ColonneJointure1] = [Table1].[ColonneJointure2]

=> ramène toutes les données de la table 1 et uniquement les données de la table 2 qui correspondent

Ce deuxième type de jointure devrait convenir à ton besoin.

Peut-être peux-tu nous fournir la requête SQL que tu as faite ?

Sinon, ce sera du VBA, mais moins bon à mon sens, si tout est déjà prêt avec une connexion BDD.

A+

Bouben

Oui je l'avais oublié le LEFT JOIN !

Evidemment, quand on a la tête dans le code, on manque de recul pour voir la vache au milieu du couloir ...

Merci, je viens de tester et ça fonctionne parfaitement !!!

Rechercher des sujets similaires à "reconstruire base donnees"