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.
posté le 30 juin à 10:21
merci pour cet exemple mis est il possible en utilisant obdc avec windev je vraiment besoin de ce code