TD : Utilisation du contrôle DAO
Commencez par créer un nouveau projet de type "Exe standard", Tout d'abord,
nommez votre projet (menu projet / propriétés)"pTestDao".
Utilisez ensuite la fenêtre des propriétés (F4) pour donner un nom "frmDaoCtl"
(propriété name) et un titre "Contrôle data DAO"
(propriété caption) à votre formulaire.
Ensuite ajoutez un contrôle Data sur le
formulaire qui a été automatiquement créé. Nous vous rappelons que le contrôle data se présente, dans la boîte
à outils, sous la forme suivante :
Une fois "déposé" sur le formulaire, ce dernier a l'aspect suivant :
Créez un répertoire pour votre projet (donnez lui, par
exemple, le nom du projet PTestDao) et commencez par y sauver ce que vous
avez fait, même s'il n'y a pas encore grand chose !
Ensuite vous allez télécharger la base cli8.mdb qui nous
servira pour l'exemple. Utilisez
le fichier au format MsAccess 97
ou
le fichier au format MsAccess 2000
en fonction de votre plate forme logicielle.
Décompactez le fichier zip dans le répertoire du projet.
(Winzip 8.0, Cliquez ici). Si vous avez chargé la version MsAccess
2000, renommez le fichier Cli8_2K.mdb en Cli8.mdb.
Nous allons, maintenant, nous occuper des propriétés du
contrôle Data afin de lui dire d'utiliser la table "Clients" de la
base Cli8.mdb. Nous supposerons que le projet est dans le répertoire "C:\Mes documents\PTestDao". Utilisez la fenêtre des propriétés (F4) pour
saisir les valeurs suivantes :
| Propriété |
Valeur |
| name |
datCli |
| caption |
datCli |
| DatabaseName |
Utilisez le bouton avec les 3 points pour
utiliser la boite de dialogue "ouvrir fichier" afin de pointer
sur l base de données Cli8.mdb (dans l'exemple C:\Mes Documents\PTestDao\Cli8.mdb
|
|
RecordSource |
Utilisez la liste déroulante pour sélectionner la table "clients" comme source de données (notez
que nous aurions pu taper, ici, une phrase SQL au lieu de sélectionner
une table)
|
| align |
2 - align bottom |
Une fois que cela est fait, nous disposons d'une
source de données utilisable sur notre formulaire. Nous allons pouvoir utiliser
des contrôles liés, par exemple des TextBox pour afficher et éditer les
données de la table. Commençons par "planter le décor" en mettant,
sur le formulaire, les étiquettes (contrôles labels) nécessaires à la bonne
"lisibilité " de notre interface utilisateur. Nous utiliserons un
groupe de contrôles (toutes les étiquettes porteront le même nom, "lbl"
mais auront un index différent) afin de ne pas surcharger la liste des objets,
dans le module de code, avec des objets pour lesquels nous n'aurons pas de code
à écrire (dans la ComboBox des Objets, dans le module de code source, nous
n'aurons qu'une ligne "lbl" au lieu d'une ligne par label, ce qui
serait le cas si nous avions donné des noms différents à chaque label).
Ensuite, ajoutez un contrôle TextBox à côté
de l'étiquette Nom et appliquez lui les propriétés suivantes:
|
Propriété
|
Valeur
|
| name |
txtNom |
| DataSource |
Choisissez dans
la liste déroulante le nom de votre contrôle Data (datCli). |
| DataField |
Choisissez dans la liste déroulante le nom du
champ désiré (Nom). |
| Text |
Effacez le contenu par défaut de cette
propriété de façon à avoir une zone vide. |
Appliquez la même logique pour chacun des 2
autres contrôles TextBox, en les nommant respectivement txtVille
et txtText ... voici le résultat :
Si vous avez bien suivi les instructions
ci-dessus, vous pouvez, dès maintenant, lancer votre "programme",
qui ne comporte aucune ligne de code !!!
Vous remarquerez qu'à l'aide des boutons du
contrôle Data, vous pouvez parcourir votre jeu d'enregistrements
(Premier, Précédent, Suivant, Dernier). Vous pouvez aussi modifier le contenu
des enregistrements en saisissant de nouvelles valeurs dans les zones de texte.
Les modifications seront automatiquement
sauvegardées lorsque vous changerez d'enregistrement ou que vous fermerez le
formulaire. En fait votre formulaire se comporte comme une ligne de table
MsAccess, n'oublions pas que c'est la nature même de DAO.
Tout cela manque un peu de convivialité et si
nous pouvons modifier, nous ne pouvons ni supprimer ni créer d'enregistrement
...
Nous allons voir que tout cela peut s'obtenir
avec très peu de code et quelques propriétés bien ciblées.