Recordset et 1bsolutePosition [Résolu]

Signaler
-
 Calade -
Bonjour,

J'ai une fonction générique de recherche dans un Recordset. Celle-ci effectue la recherche et en cas de recherche infructueuse repositionne le recordset à un endroit prédéfini dans les paramètres.

Jusqu'à récemment j'effectuais la recherche sur le recordset lui-même passé en paramètre et tout marchait nickel à ceci près qu'il fallait le gérer dans l'évènement RowCol_Change() de l'appli appelante.

Pour éviter ce problème (et donc optimiser le code), j'ai modifié ma fonction en travaillant sur un clone ne générant donc plus cet évènement. Et en cas de recherche fructueuse, je synchronise le recordset originel sur son clone à l'aide de l'instruction:

RecorsetOriginel.Absoluteposition = RecordsetClone.AbsolutePosition

mais apparemment ils ne semblent pas équivalents.
Quelqu'un pourrait-il me confirmer (ou non cela) si cela est vrai pourrait-il m'indiquer la façon d'éviter de générer cet évènement. Je peux bien sur tester si je suis en pleine recherche (c'est ce que je faisais) mais ce n'est sans doute pas très efficient).

Merci d'avance pour votre aide.

3 réponses

Messages postés
14794
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 mai 2021
155
Bonsoir,

Pourquoi ne pas utiliser une requête SQL qui ferait le filtrage ?
Bonjour et merci de ta réponse,

Le n'utilise pas de requête SQL, car cette fonction est une fonction générique qui me sert dans toutes mes applis, quelle que soit le contenu du recordset dans lequel je fais des recherches.

En Sql, il me faudrait multiplier les requêtes selon toutes les tables/BD que je possède.
Fnalement j'ai trouvé où était le problème.
L'instruction Clone ne répercute pas la propriété SORT du recordset source vers la cible, d'où ce décalage.
Maintenant ça marche.