OVH Cloud OVH Cloud

Nombre d'enregistrment

4 réponses
Avatar
msnews.microsoft.com
Bonjour,

comment savoir le nombre d"enregistrement contenu dans un fichier

voici ma requette.

Qry = "SELECT * FROM `" & Chemin & "\Prest`.Prest Prest WHERE Prest.Date='"
& FrmDate.Calendar1.Value & "') AND (Prest.Rep=" &
Val(RsRep.Fields("RepIni")) & ")"

Set RsPre = DbRap.OpenRecordset(Qry, dbOpenDynaset, dbOpenDynaset)

J'aimerais savoir directement le nombre d'enregistrment que la requette
contien.

J'ai essayer : RsPre.RecordCount mais ca ne donne rien, c'est toujours a 0.

Merci de votre aide.

A bientot

Salva

4 réponses

Avatar
Ledev
msnews.microsoft.com wrote:
Bonjour,



Bonjour,

comment savoir le nombre d"enregistrement contenu dans un fichier

voici ma requette.

Qry = "SELECT * FROM `" & Chemin & "Prest`.Prest Prest WHERE
Prest.Date='" & FrmDate.Calendar1.Value & "') AND (Prest.Rep=" &
Val(RsRep.Fields("RepIni")) & ")"

Set RsPre = DbRap.OpenRecordset(Qry, dbOpenDynaset, dbOpenDynaset)

J'aimerais savoir directement le nombre d'enregistrment que la
requette contien.

J'ai essayer : RsPre.RecordCount mais ca ne donne rien, c'est
toujours a 0.



Avant d'utilisée RecordCount, fait ceci:
.MoveFirst
.MoveLast

Et là, sa devrai marché

a+
Avatar
Drakkhen
Tu ne peux pas faire un SELECT COUNT(*) AS C FROM ....

pour savoir ?

--
Drakkhen

http://michael.moreno.free.fr/


"msnews.microsoft.com" wrote in message
news:%
Bonjour,

comment savoir le nombre d"enregistrement contenu dans un fichier

voici ma requette.

Qry = "SELECT * FROM `" & Chemin & "Prest`.Prest Prest WHERE


Prest.Date='"
& FrmDate.Calendar1.Value & "') AND (Prest.Rep=" &
Val(RsRep.Fields("RepIni")) & ")"

Set RsPre = DbRap.OpenRecordset(Qry, dbOpenDynaset, dbOpenDynaset)

J'aimerais savoir directement le nombre d'enregistrment que la requette
contien.

J'ai essayer : RsPre.RecordCount mais ca ne donne rien, c'est toujours a


0.

Merci de votre aide.

A bientot

Salva




Avatar
Crevecoeur Jérôme
Tu es en DAO?


une méthode bourrin est de faire:
RsPre.moveLast
RsPre.moveFirst

et là RsPre.recordcount sera à jour.

Autrement en ADO, il faut mettre le curseur en mode client.

Cordialement


--
----------------------------------------------------------------------------
--------------------
Crévecoeur Jérôme

ACS INFORMATIQUE
122,rue du Château d'orgemont
49000 ANGERS
Tel: 02 41 68 42 36 Fax: 02 41 68 42 48
----------------------------------------------------------------------------
---------------------
"Drakkhen" a écrit dans le message de
news:OCI$
Tu ne peux pas faire un SELECT COUNT(*) AS C FROM ....

pour savoir ?

--
Drakkhen

http://michael.moreno.free.fr/


"msnews.microsoft.com" wrote in message
news:%
> Bonjour,
>
> comment savoir le nombre d"enregistrement contenu dans un fichier
>
> voici ma requette.
>
> Qry = "SELECT * FROM `" & Chemin & "Prest`.Prest Prest WHERE
Prest.Date='"
> & FrmDate.Calendar1.Value & "') AND (Prest.Rep=" &
> Val(RsRep.Fields("RepIni")) & ")"
>
> Set RsPre = DbRap.OpenRecordset(Qry, dbOpenDynaset, dbOpenDynaset)
>
> J'aimerais savoir directement le nombre d'enregistrment que la requette
> contien.
>
> J'ai essayer : RsPre.RecordCount mais ca ne donne rien, c'est toujours a
0.
>
> Merci de votre aide.
>
> A bientot
>
> Salva
>
>




Avatar
Homer J. Simpson
A mon humble avis....

Le danger avec l'utilisation du RecordCount (avec ou sans MoveLast), est que
l'on charge par avance la totalité du recordset sans même savoir combien de
tuples on s'attend à avoir.

Il est bien plus prudent, ainsi que le mentionne Drakkhen, de faire un
SELECT COUNT préalable.
La taille du RS retourné sera de 1 (Le nb de records nécessaires) est on
sera toujours à temps de juger s'il est nécessaire de déclencher un SELECT
complet par la suite...

Une utilisation de RecordCount (Et à fortiori RecordCound + MoveLast) sur
une requête foireuse, et vous allez vous faire des copains parmi les
administateurs réseau ;-)


....................................................................
Homer J. Simpson
Duff MVP - Donuts & Onion Rings Certified
....................................................................