|
|
|||||
|
Ce problème arrive souvent lorsque les enregistrements sont affichés dans un contrôle ListBox ou une ListView et que vous devez vous placer sur l'enregistrement choisi par l'utilisateur. Généralement, le Recordset qui a servi à remplir cette liste existe encore, et il serait bien agréable (entendez par là, simple, donc agreable), de pouvoir l'utiliser encore car tous les paramètres sont déjà stipulés et les données sont déjà disponibles par son intermédiaire. Le meilleur moyen pour arriver à celà, et d'utiliser des bookmarks, ou signets dans notre bon vieux français. bookmark, quésako ? Chaque enregistrement d'un Recordset ADO possède un bookmark unique. Ce qui signifie que l'on peut accéder directement à un enregistrement précis en stipulant son bookmark. Les bookmarks sont créés en même temps de que recordset, celà signifie qu'un bookmark donné n'est valide que pour un objet Recordset donné et donc juste pendant sa durée de vie. Si vous voulez stocker dans une variable un bookmark, vous devez impérativement utiliser une variable de type Variant. Comment le stoker, et l'utiliser ? Pour récupérer le bookmark d'un enregistrement, il faut que celui-ci soit l'enregistrement en cours. La propriété 'bookmark' de l'objet Recordset retourne alors le bookmark de cet enregistrement. Si vous voulez pointer directement sur un enregistrement dont vous possédez le bookmark, il vous suffit d'affecter le bookmark mémorisé à la propriété 'bookmark' du Recordset. Ca ne marche pas à tous les coups ! Comme ADO permet d'utiliser plusieurs moteurs de bases de données avec les mêmes objets et la même syntaxe, il peut être nécessaire de vérifier que la gestion des bookmarks et prise en charge par le provider que vous utilisez. Pour celà, vous devez tester si la fonction bookmark et active : Dim Avecbookmark As Boolean Avecbookmark = wRecordset.Supports(8192) La variable Avecbookmark contient True (vrai) si le
provider gère les bookmarks, et False (faux) dans le cas contraire. Un petit exemple d'utilisation des bookmarks Le moyen de plus simple d'utiliser les bookmark est de les stocker dans un tableau dynamique lors du chargement d'une ListeBox par exemple. Ce tableau dynamique doit être de type variant. Vous devez utiliser l'intruction 'Redim Preserve' à chaque enregistrement pour agrandir d'une unité ce tableau : Rem Code de chargement de la liste Rem Code de l'événement List1_Cick()
Voilà, vous savez maintenant ce qu'est un bookmark ADO et comment l'utiliser. Si vous avez des questions à ce sujet, n'hésitez pas à les poser sur les forums iPAQdev.
|
|||||
|
|
|||||
|
Copyright 2001-2004 - Tous droits réservés
|
|||||
|
iPAQ
est un produit de COMPAQ.
|