|
|
|||||||||||||||||||||||||||||||||||
|
Une table est une grille dont les lignes sont des enregistrements
et les colonnes des champs de données. Voici par exemple une table composée de 4 champs (Numero, Nom, Prenom et Ville) et remplie avec 4 enregistrements :
Les informations d'une table peuvent être sélectionnées avec des critères. Le résultat de cette sélection s'appele une Vue. Avec ADO, les vues sont créés grâce à des objets ADOCE.Recordset, et le langage utilisé pour définir les critères de sélection est le SQL. Nous allons partir du principe que nous voulons ouvrir une base de données qui se trouve dans le dossier 'My Documents' et qui a pour nom 'Essai.Cdb' Que cette base de données contient une table dont le nom est 'Personnes', dont la structure et le contenu des enregistrements sont exactement comme la grille décrite plus haut. Que la gestion des erreurs se limite à terminer proprement le programme en cas d'anomalie. Etape 1 : Ouvrir la base de données L'ouverture d'une base de données passe par l'utilisation d'un objet 'ADOCE.Connection' et l'utilisation de sa méthode 'Open' Dim ConnectionBase as ADOCE.Connection Rem On instancie l'objet connection, avec traitement simple
des erreurs Rem Maintenant que l'objet connection
existe, on peut ouvrir la base de données
Pour accéder aux enregistrements d'une table, il faut utiliser un objet ADOCE.Recordset qui permet d'accéder à une table toute entière ou à une partie des enregistrements suivant des critères. Dans l'exemple qui suit, le recordset est ouvert sur une table dont le nom est 'Personnes' en ne selectionnant que les enregistrements dont le champ 'Numero' est supérieur à 200 Dim TablePersonnes as ADOCE.Recordset Rem On instancie l'objet ADOCE.Recordset Rem On ouvre le recordset avec les
critères évoqués plus haut
Etape 3 : Accéder aux enregistrements composant cette table Maintenant que nous avons une vue (notre recordset) sur les enregistrements qui nous interessent (ceux dont le Numero>200), nous pouvons nous déplacer d'un enregistrement à l'autre, lire les données, ajouter ou modifier des informations. Comment lire les valeurs stockées dans les champs d'un enregistrement ? Chaque enregistrement est composé de champs,
chaque champ possède un nom, un type et une valeur. Dim LeNumero as Long LeNumero = TablePersonnes.Fields("Numero").Value
Comment se déplacer dans les enregistrements ? L'objet Recordset dispose de 4 fonctions dédiées au déplacement dans les enregistrements :
L'objet recordset possède aussi 2 propriétés de type Boolean (oui/non) qui déterminent le résultat d'un déplacement :
Important Avec un Recordset, le fait de dépasser les limites haute et basse d'un ensemble d'enregistrement ne déclenche pas d'erreur, mais positionne BOF et/ou EOF. Si vous tentez de vous déplacer une seconde fois dans le mauvais sens, alors une erreur est générée. Pour 'balayer' tous les enregistrements d'un recordset il suffit de se placer sur le premier enregistrement et de descendre jusqu'a ce que la propriété EOF soit vraie. Il est préférable de placer l'instruction 'MoveFirst' dans un 'On Error' afin d'éviter les erreurs liées aux tables vides, où EOF et BOF sont déjà à vrai par défaut : On Error Resume Next Comment modifier un enregistrement ? Une fois que vous êtes positionné sur un enregistrement, vous pouvez modifier les valeurs de ses champs et utiliser la méthode 'Update' pour valider physiquement vos modifications : Rem On se positionne sur l'enregistrement que l'on souhaite
modifier Comment ajouter d'un nouvel enregistrement ? Pour ajouter un nouvel enregistrement il suffit d'utiliser la méthode 'AddNew', puis charger les valeurs des champs avant d'utiliser la méthode 'Update' : Rem On crée un nouvel enregistrement
Il suffit de se positionner sur l'enregistrement à détruire, puis d'utiliser la méthode 'Delete' de l'objet Recordset. Rem On se positionne sur l'enregistrement à détruire Attention L'enregistrement détruit occupe toujours une place dans le recordset, mais il est impossible de modifier, ou de lire la valeur de ses champs. Tant que le recordset n'est pas reconstruit, il faut être prudent, surtout en utilisant les méthodes de déplacement. Si vous voulez que le recordset comble le trou laissé par l'enregistrement détruit, vous pouvez utiliser la méthode 'Requery' qui réouvre le recordset avec les mêmes critères que ceux stipulés lors de sa création, éliminant par la même les enregistrements détruits.
Si vous avez des questions concernant la gestion des bases de données avec ADO, n'hésitez pas à me les poser par mail à l'adresse suivante : webmaster@ipaqdev.com
|
|||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||
|
Copyright 2001-2004 - Tous droits réservés
|
|||||||||||||||||||||||||||||||||||
|
iPAQ
est un produit de COMPAQ.
|