Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 Les explications ci-dessous décrivent comment établir une connexion à une base de données Access dans QGis 2.2 et supérieures. NB : Cette connexion ne fonctionne qu’avec la version 32 bits de QGis dans les versions suivantes : - Version 2.8.1 (Wien) - Version 2.6.1 (Brighton) - Version 2.4.0 (Chugiak) - Version 2.2.0 (Valmiera) Ces versions 32 bits de QGis peuvent être installées et fonctionner sans problème sur Windows 7 qui est pourtant un système 64 bits. La version 32 bits de QGis 2.8.1 est à télécharger ici : http://qgis.org/downloads/QGISOSGeo4W-2.8.1-1-Setup-x86.exe 1. Etablir une connexion à une BD Access avec l'administrateur ODBC 32 bits Ouvrir le fichier odbcad32.exe (l'administrateur ODBC 32 bits) qui se trouve dans C:\Windows\SysWOW64 Cliquer sur « Démarrer ». Taper C:\Windows\SysWOW64 puis cliquer sur le fichier odbcad32.exe qui apparaît. Le panneau suivant s’ouvre : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 1 Cliquer sur le bouton « Ajouter… ». Le panneau suivant s’ouvre : Cliquer sur « Terminer ». Le panneau suivant s’ouvre : Cliquer sur « Sélectionner ». Le panneau suivant s’ouvre : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 2 Parcourir les dossiers et sélectionner le fichier Access avec lequel la connexion doit être établie. Le fichier doit avoir un suffixe .mdb. Cliquer sur « OK ». Dans le panneau suivant, la connexion avec le fichier .mdb sélectionné doit apparaître. Cliquer sur « OK ». Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 3 La connexion avec la base de données Access apparaît dans la liste des connexions maintenant établies. 2. Connexion à une BD Access dans QGis 2.2 et supérieures Une fois la connexion établie entre Access et QGis par le connecteur ODBC, on peut afficher la ou les tables de la base de données dans QGis par trois fonctionnalités différentes de QGis : - « Ajouter une base de données » - « Ajouter une couche vecteur » - « Connexion eVis à une base de données » 2.1 Fonctionnalité « Ajouter une base de données » Dans QGis, cliquer sur « Ajouter une couche vecteur ». Le panneau suivant apparaît : Sélectionner « Base de données ». Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 4 Le panneau se développe ainsi dans sa partie inférieure : Créer une nouvelle connexion ODBC en cliquant sur « Nouveau » Le panneau suivant apparaît : Choisir le type ODBC dans la liste des types de connexion à des bases de données. Saisir ainsi les paramètres de connexion à la base de données : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 5 Cliquer sur « Tester la connexion ». Le panneau suivant apparaît : La connexion à la base de données est établie. Cliquer sur « OK ». puis à nouveau « OK » sur le panneau suivant. La connexion apparaît dans la liste des connexions ODBC disponibles dans le panneau suivant : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 6 Sélectionner cette connexion ODBC et cliquer sur « Ouvrir ». Le panneau suivant apparaît. Cliquer sur « OK » sans entrer de mot de passe. La liste des tables de la base de données apparaît. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 7 NB : Les noms de tables avec des caractères spéciaux (ex.: accents) ne sont pas gérés. Le nom de la table apparaît dans la liste mais n’apparait pas dans la liste des couches de QGis si elle est sélectionnée. Il faut alors revenir dans Access et changer les noms des tables qui comprennent des caractères spéciaux et les remplacer par des caractères normaux, non accentués. Il faut ensuite choisir la table qu’on souhaite afficher dans QGis. On voit que les tables Access n’ont pas de géométrie puisque le champ Type de géométrie est marqué « Unknowm » (inconnu). Cliquer sur « OK ». La table sélectionnée apparaît dans la liste des couches de QGis. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 8 Comme la table Access n’a pas de géométrie, elle ne peut pas apparaître comme une couche d’entités géométrique. Néanmoins, les champs de la table Access peuvent être affichés dans les propriétés de cette couche. Si la table Access comporte deux champs permettant la création d’un fichier de points à partir d’un couple de coordonnées X et Y, on peut utiliser la fonction « Save attribute table as Point shape file ». Cette fonction se trouve dans l’extension XY Tools qu’il faut avoir installée préalablement. Une fois installée, cette extension se trouve dans le menu « Vecteur ». Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 9 Le panneau suivant apparaît. Il faut choisir la colonne pour la valeur de la coordonnée X et celle pour la coordonnée Y. Cliquer sur « OK ». Le panneau suivant apparaît : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 10 Il faut choisir l’emplacement et le nom pour le fichier shape à créer. Puis cliquer sur « Enregistrer ». Un message indique que la création du fichier shape de points est réussie. Il faut ensuite afficher le fichier shape nouvellement créé en cliquant sur « Ajouter une couche vecteur ». Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 11 Le fichier shape apparaît dans la liste des couches dans QGis. Par défaut, le SCR n’est pas défini ou alors il est défini avec sa valeur par défaut le WGS84. Il faut le changer si le projet ne se trouve pas dans ce SCR par défaut, comme il faut le faire pour n’importe quelle autre couche. Il faut afficher les propriétés de cette couche et, dans l’onglet Général, choisir le SCR du projet en cours. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 12 Le fichier apparaît alors à son emplacement en fonction des valeurs des champs X et Y qui ont servi à le créer. La table attributaire de ce fichier vecteur est constituée par l’ensemble des champs de la table Access. 2.2 Fonctionnalité « Ajouter une couche vecteur » Quand la connexion avec un fichier Access est établie, on peut afficher une ou plusieurs tables de ce fichier Access en cliquant sur « Ajouter une couche vecteur ». Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 13 Cliquer sur « Parcourir » pour trouver et choisir le fichier .mdb avec lequel la connexion a été établie. Une fois le fichier .mdb sélectionné, cliquer sur « Ouvrir ». Le panneau suivant apparaît avec le fichier sélectionné. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 14 Cliquer sur « Ouvrir ». La ou les tables de la BD Access apparaissent comme pour la fonctionnalité d’ajout de la base de données. 2.3 Fonctionnalité « Connexion eVis à une base de données » Cliquer sur l’outil « Connexion eVis à une base de données » Le panneau suivant apparaît : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 15 Sélectionner ODBC dans la liste « Type de la base de données ». Saisir ainsi les paramètres de connexion à la base de données puis cliquer sur « Connecter »: Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 16 Cliquer sur « Requête SQL ». La fenêtre pour saisir la requête SQL apparaît : Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 17 Dans cette fenêtre, saisir une requête par exemple : SELECT * FROM T_Operation2 Cette requête va permettre de sélectionner tous les enregistrements et tous les champs de la table T_Operation2. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 18 Cliquer sur « Exécuter la requête ». Le panneau suivant apparaît : Choisir un nom pour la nouvelle couche à créer à partir du résultat de la requête. Choisir les champs X et Y qui vont servir à créer un fichier de points. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 19 Cliquer sur « OK ». Le fichier résultat de la requête est créé et il apparaît dans la liste des couches dans QGis. Le fichier shape n’est pas encore créé. Mais les données attributaires sont disponibles. NB : Dans les tables attributaires, les caractères spéciaux (ex.: accents) ne sont pas gérés. Ils apparaissent sous la forme de symboles. Il faut changer l’encodage des tables dans QGis. Dans les propriétés de la table Access, il faut afficher les propriétés. Dans l’onglet Général, il faut choisir l’encodage System. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 20 Les données avec des caractères spéciaux apparaissent alors correctement. A partir de ce fichier, il est possible de créer un fichier shape de points avec la fonction « Save attribute table as Point shape file » comme cela a déjà été décrit ci-dessus. Dans ce cas, les données attributaires de ce fichier de points sont toutes celles qui ont été sélectionnée par la requête SQL. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 21 3. Liens dynamiques dans QGis entre une BD Access et un fichier shape par jointure Une fois qu’une ou plusieurs tables d’un fichier Access sont affichées dans un projet QGis, il est possible d’établir une jointure avec le fichier shape de points créé selon la procédure cidessus. Pour cela, il suffit de créer une jointure selon les principes de cette fonction dans QGis. Une fois cette jointure créée, il faut enregistrer le projet QGis. Si la ou les tables du fichier Access sont ensuite modifiées dans Access, les données mises à jour pourront apparaître dans le résultat de la jointure dans QGis. Mais pour cela, il faut quitter le fichier Access après la mise à jour des données dans celui-ci (ou au moins la table) et rouvrir le fichier du projet QGis pour que la mise à jour soit prise en compte dans QGis. Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY (juillet 2015) 22