IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

BE Access vers MySql


Sujet :

Modélisation

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Points : 14
    Points
    14
    Par défaut BE Access vers MySql
    Bonjour à tous.
    Avançant en autodidacte, je finalise une petite application Access qui doit être utilisée par quelques utilisateurs (15 max) de l'entreprise. Au départ, j'avais en tête que la base soit scindée et que le BE soit sur un serveur et les FE sur les postes des différents utilisateurs. Mais pour certaines raisons internes la liaison des deux serait compliqué pour ne pas dire impossible. La solution la plus adaptée à mon sujet est donc de migrer le BE vers MySql, d'où quelques questions, vu que je ne m'y connais pas encore en MySql (mais heureusement j'apprends très vite):

    1- Je peux recréer mes tables sur MySql facilement. La gestion des relations se fait comment ici, j'imagine que je dois les faire sur MySql ? Si oui, vu que j'envisage utiliser MySQL Workbench, la gestion (création/modification) des relations est-elle très différentes de celle de Access ?


    Les enregistrements se feront principalement dans 03 tables sur 07 (dans les autres tables les données sont plutôt fixes). Chacune de ces 03 tables enregistreront au grand maximum 3000 lignes par an. Une des tables à 25 champs, et les 02 autres, 12 . ce sont principalement des champs numériques. Ceci, d'après ce que j'ai lu sera une très petite basse de données.

    2- Au niveau des requêtes. J'ai lu que celles-ci s'exécuteraient beaucoup plus rapidement du côté MySql et j'ai lu des lignes à propos de Sql Direct. Dois-je penser à faire migrer les requêtes que j'ai déjà créées (environ 30) ou non vu que la taile de la base étant relativement petite, il n'y aurait pas tellement d'écart de performance ?


    Une autre option qui m'a été demandée : la possibilité de joindre des fichiers pdf aux enregistrements de ma 3ème table. Les fichiers feront environ 2 à 3 Mo. Impossible donc de les charger dans la base. J'ai lu qu'il faudrait les charger sur un serveur et n'afficher que le lien vers le fichier.

    3- Cette fonction, puis-je l'intégrer via vba directement dans un de mes formulaires ? De telle sorte qu'au clique d'un bouton, l'utilisateur est amené à selectionner son fichier, puis ce dernier est charger sur le serveur (avec peut-etre une barre de progression) et le lien conservé dans un champ ? Je suis persuadé que ceci n'est pas un problème nouveau mais je n'arrive pas à trouver une discusision spécifique.

    Merci d'avance pour vos réponses et éventules liens vers des discussions ou tutos qui pourront m'aider.

    Désolé d'avance si je n'ai pas créé la discussion dans le bon forum.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Citation Envoyé par Freuzo Voir le message
    1- Je peux recréer mes tables sur MySql facilement. La gestion des relations se fait comment ici, j'imagine que je dois les faire sur MySql ? Si oui, vu que j'envisage utiliser MySQL Workbench, la gestion (création/modification) des relations est-elle très différentes de celle de Access ?
    Oui si MySQL offre des relations fait les là.
    Il n'y a aucun gain à le faire par code ou requêtes dans Access, juste une tonne de problèmes potentiels.
    Pour la forme que cela prend, pose la question sur un forum MySQL. En principe c'est assez standard mais chaque constructeur a ses petites particularités.
    Si tu a utilisé des champs AutoNum comme clef primaire renseigne-toi pour savoir si c'est possible en MySQL.

    2- Au niveau des requêtes. J'ai lu que celles-ci s'exécuteraient beaucoup plus rapidement du côté MySql et j'ai lu des lignes à propos de Sql Direct. Dois-je penser à faire migrer les requêtes que j'ai déjà créées (environ 30) ou non vu que la taile de la base étant relativement petite, il n'y aurait pas tellement d'écart de performance ?
    C'est souvent vrai (j'ai eu un cas ou on est passé d'heures à minutes avec une BD Oracle) mais cela nécessite de les réécrire dans le "SQL de MySQL". Et il y a parfois aussi des adaptations à faire du côté d'Access. Personnellement je ne le ferai que si j'ai des performances inacceptables ou alors si j'ai vraiment besoin du temps d'exécution optimal.

    Une autre option qui m'a été demandée : la possibilité de joindre des fichiers pdf aux enregistrements de ma 3ème table. Les fichiers feront environ 2 à 3 Mo. Impossible donc de les charger dans la base. J'ai lu qu'il faudrait les charger sur un serveur et n'afficher que le lien vers le fichier.
    Ça c'est la solution recommandée pour Access (à cause de la limite des 2Go et que les pièces jointes dans les enregistrements c'est une plaie à manipuler).
    Ce n'est peut-être pas vrai pour MySQL.

    3- Cette fonction, puis-je l'intégrer via vba directement dans un de mes formulaires ? De telle sorte qu'au clique d'un bouton, l'utilisateur est amené à selectionner son fichier, puis ce dernier est charger sur le serveur (avec peut-etre une barre de progression) et le lien conservé dans un champ ? Je suis persuadé que ceci n'est pas un problème nouveau mais je n'arrive pas à trouver une discusision spécifique.
    À priori la copie de 2Mo, passera totalement inaperçue, donc pas la peine de s'embêter avec une barre de progression et oui cela se fait en quelques lignes avec du VBA.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Merci marot_r pour tes conseils.

    J'ai fait quelques recherches. J'ai créé le back-end sur MySql avec MySql Workbench et refait toutes les relations entre les tables. Avec Workbench ce n'est pas vraiment compliqué lorsqu'on connait déjà très bien les faire sur Access.

    Vu la très petite taille de la BD, access va gérer toutes les requêtes sans soucis.

    Petite question : Si je comprends bien, avec l'ODBC les utilisateurs peuvent tous accéder à la bd même s'ils sont dans une autre ville ?

    Pour mes fichiers joints, je vais créer un champ BLOB sur MySql, mais je n'arrive pas à trouver le bout de code très simple qui me permette juste de créer un bouton sur mon formulaire, l'utilisateur clique, choisi son fichier et ce dernier se charge donc dans la table de la BD. Puis le code pour un autre bouton, plus tard lorsqu'on a besoin
    de la pièce jointe chargée, un utilisateur clique et le fichier est téléchargé.

    Je ne suis encore assez bon pour créer ce code, donc si quelqu'un peut m'aider à ce niveau... merci d'avance tout le monde.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.
    ODBC est simplement un moyen de communiquer avec une BD.
    En gros il fournit à Access les infos sur où trouver la BD et comment lui parler.
    Il faut que "l'endroit" où est la BD soit accessible au driver ODBC mais en tant que tel ODBC ne "fourni" pas d'accès.
    Il t'ouvre simplement une porte si cet accès existe.

    Pour ton problème de BLOB, crée une discussion à ce sujet et éventuellement aussi dans un forum dédié à MySQL.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Bonsoir.

    OK, je comprends mieux l'ODBC. Je vais me diriger vers le forum MySql pour les fichiers BLOB

    Merci encore.

Discussions similaires

  1. base access vers mysql
    Par chiarde dans le forum Débuter
    Réponses: 1
    Dernier message: 14/03/2006, 12h59
  2. [Migration] Access vers MySQL
    Par EL BEGHDADI dans le forum Migration
    Réponses: 1
    Dernier message: 09/02/2006, 17h07
  3. Copie champs Access vers MySQL
    Par DrSlump dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 02/11/2005, 17h31
  4. Export base Access vers MySql
    Par jjn1er dans le forum Outils
    Réponses: 7
    Dernier message: 10/03/2003, 23h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo