Conserver jointures MySQL dans MS Access

Fermé
Barnob - 21 févr. 2010 à 18:28
dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 - 21 févr. 2010 à 22:24
Bonjour,

Je suis totalement novice sur tout ce qui concerne PHP et MySQL, je n'ai peut etre pas le bon vocabulaire, désolé... J'ai aussi cherché pendant 3 jours la réponse à ma question, mais je n'ai pas trouvé. En désespoir de cause, je me mets à l'écriture...

Voici mon problème :
Je souhaiterais mettre en ligne une base de donnée que j'ai initialement créée sous Access sur mon PC. J'ai trouvé plein d'infos à ce sujet sur le web, et j'ai transféré ma base Access sous MySQL. J'ai récupéré dans MySQL les tables que j'avais créées sous Access, mais sans les jointures. J'ai lu qu'il fallait utiliser le type InnoBD pour les tables avec jointures, ma base MySQL a donc uniquement des tables avec le type InnoBD.

J'ai ensuite recréé les relations entre les tables de la nouvelle base MySQL (sous PHPMyAdmin).

Mais voila, j'aime bien l'ergonomie de MS Access pour travailler sur ma base, et j'ai lu qu'on pouvait travailler sur une base MySQL sous MS Access. J'ai donc suivi les procédures proposées, et installé le connecteur ODBC adéquate. J'ai ensuite utilisé la procédure adéquate sous Access pour lier ma base MySQL à une nouvelle base Access : j'ai donc des tables qui se sont créées dans cette nouvelles bases, répliquant les tables de ma base sous MySQL, mais SANS LES JOINTURES !!!!!!!!!! Je ne peux donc pas travailler sur ma base dans Access, les tables ne sont pas liées entre elles telles qu'elles l'étaient initialement dans Access, et telles qu'elles le sont sous MySQL.

Que se passe t il ? Pourquoi les tables, pourtant jointes (correctement ?) sous MySQL, ne le sont elles pas sous MS Access lorsque "j'ouvre" ma base MySQL sous MS Access pour travailler dessus ? Ai je loupé ou mal compris quelque chose ?

Au final, que dois je faire pour pouvoir travailler sur ma base MySQL sous MS Access, de façon à ce que tout se passe comme dans la base que j'avais initialement créée sous Access ?

Merci à tous !!!!
A voir également:

1 réponse

dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 67
21 févr. 2010 à 21:03
Bonsoir,

Pour un débutant tu te débrouilles super bien :)

Par contre, à ma connaissance Access ne sait pas "lire" les relations de tables InnoDB ... j'ai donc peur qu'il te faille les recréer via l'éditeur graphique d'Access ...

Ceci dit, il existe des outils qui proposent une couche graphique un peu similaire à Access, si ce n'est qu'ils fonctionnent nativement pour MySQL, sans avoir besoin de ODBC ...

Exemples : (je suis désolé, je n'ai pas les urls sous la main !)
- Navicat
- SQLYog
- MySQL Workbench (tout nouveau, édité par MySQL !)

PS pour info, ce que tu appelles les jointures est en réalité la gestion de l'intégrité référentielle ... les jointures sont juste une manière de relier les tables entre elles lors d'une requête SQL, et ne requierent pas InnoDB ... (voir INNER JOIN, LEFT JOIN, ...)
0
Merci Dam75, je vais regarder les 3 outils que tu me conseilles, et je ferai un retour sur mon préféré.

J'ai essayé de recréer les relations entre tables dans l'éditeur graphique d'Access : meme si ca parait possible, elles n'ont pas la meme "tete" que lorsqu'il s'agit d'une base Access pure : les petits symboles "infini" et "1" n'apparaissent pas sur les relations, et lorsqu'on ouvre une table, on n'a pas acces aux tables dépendantes (avec les petits "+" qui permettent de les afficher) (c'est dur d'être clair en l'écrivant, il faudrait des images...). Mais bref, ca ne marche pas.
0
dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 67 > Barnob
21 févr. 2010 à 22:24
De rien :)
Il y a plusieurs versions du driver ODBC qui permet de se connecter à MySQL depuis n'importe quel outil, mais effectivement je ne crois pas qu'aucun permette de le faire complétement ...
J'ai oublié de préciser : les différents outils cités existent tous en version complète payante, mais pour ce que tu veux faire la version gratuite suffit amplement ...
Bon courage
0