Lire le contenu d’une base de données ACCESS avec WinDev

Publié le 04 juin 2009 par Tatam

Il est parfois nécessaire de lire d’autres bases de données qu’HyperFile sous WinDev, comme par exemple : une base de données ACCESS. Il existe une multitude de fonctions pour lire le contenu de cette base. Mais l’aide, pourtant complète,  ne nous éclaire pas dans ce cas précis. Alors,  Comment lire le contenu d’une base de données ACCESS avec WinDev ?

Nous allons prendre un exemple : Le projet se nommera “MonProjet” et sera disponible à l’adresse “C:\WinDev\MonProjet“, la base access (au format *.MDB) sera disponible à l’adresse suivante “C:\WinDev\MonProjet\Exe\Base Access\mabase.mdb” . Vous pouvez remplacer le chemin de la base par un sélecteur de fichier, ce qui vous permettra d’être valable avec plusieurs bases.

Vous êtes prêt ? C’est parti …

La création

  • Créez-vous un bouton (Par exemple BTN_1)
  • Créez une liste (par exemple LISTE_1)
  • Sur votre bouton, clic-droit puis Code :
// Variables
sNomSource est une chaîne = "C:\WinDev\MonProjet\Exe\Base Access\mabase.mdb"
 
sNomUtilisateur est une chaîne = ""
 
sMotDePasse est une chaîne = ""
 
sTypeAccès est un entier = hOLectureEcriture
 
ListeFichier est une chaîne
 
ListeFichier=HListeFichier(sNomUtilisateur, sMotDePasse, sNomSource,  hOledbAccess2000, sTypeAccès)
 
// Ajout dans la liste
ListeAjoute(Liste_1, ListeFichier)

J’explique mon code

Ma variable sNomSource correspond à ma base de données. La fonction HListeFichier() permet de lister tous les fichiers d’une base de données. Pour mon cas par exemple, la base de données est en Access 2000 donc j’utiliserais hOledbAccess2000. Il en existe plusieurs pour Access :

  • hOledbAccess1997
  • hOledbAccess2000
  • hOledbAccess2007

La fonction ListeAjoute() permet d’ajouter les résultats obtenus.

Vous savez lire maintenant la liste des tables directement depuis WinDev.