Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ADO Prob. Recordset

MystSith

XLDnaute Nouveau
Bonjour,

J'ai un petit souci sur l'utilisation de la propriété 'Recordcount' de l'objet 'Recordset'.
En effet, quand j'écris : Monrecordset.Recordcount , et que je retourne le résultat à l'écran... j'ai un joli '-1' au lieu d'avoir le nombre d'enregistrements contenu dans mon recordset.
Par ailleurs lorsque j'écris : Monrecodset.Fields.Count... j'ai bien mon nombre de champs qui est renvoyé (heureusement).

Pourquoi cela ne semble pas fonctionner pour les enregistrements?

Merci d'avance

MystSith


Edit: Apparamment ça viendrait de mon paramètrage de l'ouverture du recordset sur le CursorType que je n'ai pas défini (en mettant CursorType=adOpenStatic ... ça semble fonctionner)

Quelqu'un peut éclairer mes lanternes par rapport à son utilisation?

Message édité par: mystsith, à: 29/10/2005 17:33
 

MichelXld

XLDnaute Barbatruc
bonsoir

difficile de répondre sans voir ta macro , mais si tu utilises adOpenForwardOnly dans ta requete , tu peux faire un essai en la remplaçant par adOpenStatic

ci dessous les indications de l'aide Microsoft
La propriété RecordCount renvoie les valeurs suivantes : -1 pour un curseur de défilement vers l'avant seulement (adOpenForwardOnly) , le compte effectif pour un curseur statique ou à jeu de clés, -1 ou le compte effectif (selon la source de données) pour un curseur dynamique.



par exemple , remplace

.Open 'SELECT * FROM ' & TableName, , adOpenForwardOnly, adLockOptimistic, adCmdText

par

.Open 'SELECT * FROM ' & TableName, , adOpenStatic, adLockOptimistic, adCmdText



bonne soiree
MichelXld
 

MystSith

XLDnaute Nouveau
C'est excatement ça merci encore

Mon ancien code:

...
With Rs
.ActiveConnection = cn
.Open MAREQUETESQL
End With
...

Mon nouveau code:

...
With Rs
.ActiveConnection = cn
.Open MAREQUETESQL, , adOpenStatic, adLockOptimistic, adCmdText
End With
...

Le 'CursorType' peut prendre pour valeur:

- adOpenForwardOnly (lecture seule le + rapide)
- adOpenStatic (Copie de données, côté client)
- adOpenKeyset (Utilisation avec les tables indexés)
- adopenDynamic (reflète toutes les modifs sur la base, côté serveur)

Voilà en gros ce que j'ai trouvé sur le sujet

MystSith
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…