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
 

Statistiques des forums

Discussions
312 947
Messages
2 093 831
Membres
105 848
dernier inscrit
toooom