logo UsualSoft   Skip Navigation Links
Accueil
Références
Formations
TutorielsExpand Tutoriels
Liens téléchargements

Contact : cgruchet@hotmail.com - Tél: 06 22 82 90 55
Microsoft Certified Professional
Cours : Visual-Basic

Bases de données

Le DataControl DAO

Claude Gruchet
Initiation

Le DataControl DAO

Ce contrôle est présent dans les contrôles par défaut de la boîte à outils Visual-basic 6.0. Il facilite l'utilisation de la bibliothèque de type "Data Access Object" (Objet d'accès aux données). Cette bibliothèque est, en fait, le moteur de Ms-Access ou "Jet Engine". L'utilisation du Data Control DAO permet de profiter d'automatismes et d'assistants pour utiliser des données dans vos formulaires.

Contrôle Data Microsoft

Une fois utilisé dans un formulaire, le contrôle a l'aspect suivant :

 

Nous allons réaliser un exemple d'application de ce contrôle et de contrôles liés mais, tout d'abord faisons un tour d'horizon des propriétésméthodes et événements de cet objet :

 

Propriétés
Connect Chaîne de connexion, permet la connexion en natif aux bases de type Access, Dbase, FoxPro, Paradox ou permet de préciser la chaîne de connexion ODBC (avec ou sans DSN).  L'utilisation d'un DSN système permet d'améliorer la portabilité du code source et simplifie la maintenance.

Cliquez ici pour lire la page traitant des DSN système sous Windows.

Par défaut : Ms Access. (rien à faire à ce niveau si vous voulez accéder à une base Ms-Access)

DataBaseName Nom et chemin d’accès à la base de données à laquelle vous voulez vous connecter. Utilisez le bouton aux 3 petits points pour parcourir le disque et trouver votre base de données.
DefaultCursortType Type de curseur par défaut, permet d’utiliser des curseurs ODBC ou des curseurs côté serveur.
DefaultType Permet de préciser si l’on charge Jet ou si l’on travaille avec ODBC Direct.
RecordSetType

Type de jeu d’enregistrements : Table (à exclure !), Dynaset (pour les mises à jour), SnapShot (Lecture seule, plus rapide !).

RecordSource

Nom de table, nom de requête ou instruction SQL qui retourne les enregistrements que vous voulez gérer via le contrôle Data.


N'hésitez pas à lire l’aide Microsoft sur ces propriétés, les deux seules valeurs indispensables pour la connexion à une base Ms Access sont

DataBaseName et RecordSource.


Méthodes
Refresh Exécution de la phrase SQL du RecordSource. Initialise le RecordSet. (Ouvre le jeu d'enregistrements).
UpdateControls

Transfert des contenu de champs (collection Fields du RecordSet) vers les contrôles liés du formulaire. 

Permet l’annulation des modifications saisies par l’utilisateur.

NB : Les contrôles liés sont ceux dont la propriété DataSource pointe sur le DataControl et dont la propriété DataField contient le nom d'un champ du jeu d'enregistrements.

UpdateRecord

Transfert des contenu de contrôles liés du formulaire vers les champs (collection Fields du RecordSet). 

Mise à jour de la base de données, c'est l'inverse de UpdateControls.

Évènements
Error Se produit si l’événement Validate déclenche une erreur de mise à jour. Permet le traitement de l’erreur ou, au moins, l’affichage d’un message pour l’utilisateur.
Reposition Se produit après le changement d’enregistrement courant.
Validate Se produit lors de la mise à jour de l’enregistrement dans la base de données.

 

 

Les contrôles liés (ou dépendants)

Les contrôles liés sont attachés à une source de données qui est représentée, en général, par un contrôle "data".

Les propriétés permettant de lier le contrôle à la source de données (le contrôle "data") sont les suivantes:

 

Propriétés
DataSource Nom du contrôle "Data" qui contient le jeu d’enregistrements à lier.
DataField Nom du champ à gérer dans le contrôle lié.
DataChanged True si les données ont été changées par l’utilisateur par rapport au contenu du RecordSet inclus dans le DataControl

Permet de demander une confirmation utilisateur s’il ferme le formulaire sans avoir enregistré les changements. 


Travaux dirigés

Tentons une mise en oeuvre simple du data control DAO :