OVH Cloud OVH Cloud

problème SQL

3 réponses
Avatar
MARIE
Bonjour,

je travaille sous access 2000, comment peut on calculer le=20
nombre d'enregistrement trouv=E9 lors de l'ex=E9cution d'une=20
requ=EAte sql sous visual basic

sql =3D "select ......."=20

If enr.RecordCount <> 0 Then
.....
else
....
endif

le probl=E8me c'est que enr est toujours =E0 1 alors qu'il y a=20
de nombreux enregistrement dans SQL

par avance je vous remercie beaucoup

A bient=F4t

MARIE

3 réponses

Avatar
Jessy SEMPERE
Bonjour

C'est normal, pour connaître le nombre d'enregistrement d'un recordset
avec la méthode RecordCount, tu dois parcourir ton recordset avant
Donc tu peux utiliser MoveLast avant ton RecordCount...
Exemple :
Dim rst as recordset
dim sql as string

sql = "select........"
set rst = currentdb.openrecordset(sql)
rst.movelast
if rst.recordcount <> 0 then
{instruction}
end if

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Avatar
Philippe PONS
Il me semble qu'avec certains type de Recordset, notament si on utilise ADO,
la propriété Recordcount renvoie toujours -1(donc pas utilisable)
Dans ce cas la, une solution est d'exécuter une requête:
Set rs = "SELECT Count(*) etc..."
On récupère dans rs(0) le nb d'enregsitrement.

Cordialement,
Philippe.

"Jessy SEMPERE" a écrit dans le message de news:
bgnqai$dt6$
Bonjour

C'est normal, pour connaître le nombre d'enregistrement d'un recordset
avec la méthode RecordCount, tu dois parcourir ton recordset avant
Donc tu peux utiliser MoveLast avant ton RecordCount...
Exemple :
Dim rst as recordset
dim sql as string

sql = "select........"
set rst = currentdb.openrecordset(sql)
rst.movelast
if rst.recordcount <> 0 then
{instruction}
end if

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------




Avatar
Jessy SEMPERE
Bonjour
Il me semble qu'avec certains type de Recordset, notament si on utilise
ADO,

la propriété Recordcount renvoie toujours -1(donc pas utilisable)
Dans ce cas la, une solution est d'exécuter une requête:
Set rs = "SELECT Count(*) etc..."
On récupère dans rs(0) le nb d'enregsitrement.


Petit complément :
En fait les objets RecordSet ne retourne jamais -1, par contre un
objet TableDef sur une table attachée, retournera toujours -1 et
c'est dans ce cas qu'il faut employer la méthode que tu décris... ;-)

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------