Je souhaite compter le nombre d'enregistrements du=20
recordset suivant. Pour les valeurs du contr=F4le de mon=20
formulaire o=F9 le recordset est vide, je re=E7ois bien 0.=20
Par contre, pour les valeurs o=F9 mon recordset contient=20
des enregistrements, je ne re=E7ois que la valeur 1, comme=20
si la recherche s'arr=EAtait au 1er enregistrement trouv=E9.=20
Quelqu'un voit-il d'o=F9 =E7a peut venir ??
Dim strRecordset As String
Dim rcdRecord As DAO.Recordset
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset)
Ajoute ici : rcdRecord .MoveLast
[Texte0] = rcdRecord.RecordCount
Cordialement Gilbert
Jean
-----Message d'origine----- Bonjour,
Je souhaite compter le nombre d'enregistrements du recordset suivant. Pour les valeurs du contrôle de mon formulaire où le recordset est vide, je reçois bien 0. Par contre, pour les valeurs où mon recordset contient des enregistrements, je ne reçois que la valeur 1, comme si la recherche s'arrêtait au 1er enregistrement trouvé. Quelqu'un voit-il d'où ça peut venir ??
Dim strRecordset As String Dim rcdRecord As DAO.Recordset
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset) [Texte0] = rcdRecord.RecordCount .
Michel,
Pour pouvoir compter les enregistrements, il faut aller chercher le dernier enregistrement et remonter au premier.
On pose une condition pour vérifier s'il existe un enregistrement, sinon on prend une erreur.
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset)
if rcdRecord.RecordCount >0 then rcdRecord.Movelast '=> dernier enregistrement rcdRecord.MoveFirst '=> premier enregistrement end if
[Texte0] = rcdRecord.RecordCount
-----Message d'origine-----
Bonjour,
Je souhaite compter le nombre d'enregistrements du
recordset suivant. Pour les valeurs du contrôle de mon
formulaire où le recordset est vide, je reçois bien 0.
Par contre, pour les valeurs où mon recordset contient
des enregistrements, je ne reçois que la valeur 1, comme
si la recherche s'arrêtait au 1er enregistrement trouvé.
Quelqu'un voit-il d'où ça peut venir ??
Dim strRecordset As String
Dim rcdRecord As DAO.Recordset
Je souhaite compter le nombre d'enregistrements du recordset suivant. Pour les valeurs du contrôle de mon formulaire où le recordset est vide, je reçois bien 0. Par contre, pour les valeurs où mon recordset contient des enregistrements, je ne reçois que la valeur 1, comme si la recherche s'arrêtait au 1er enregistrement trouvé. Quelqu'un voit-il d'où ça peut venir ??
Dim strRecordset As String Dim rcdRecord As DAO.Recordset
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset) [Texte0] = rcdRecord.RecordCount .
Michel,
Pour pouvoir compter les enregistrements, il faut aller chercher le dernier enregistrement et remonter au premier.
On pose une condition pour vérifier s'il existe un enregistrement, sinon on prend une erreur.
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset)
if rcdRecord.RecordCount >0 then rcdRecord.Movelast '=> dernier enregistrement rcdRecord.MoveFirst '=> premier enregistrement end if
[Texte0] = rcdRecord.RecordCount
3stone
Salut,
"Jean" a écrit:
Michel,
Pour pouvoir compter les enregistrements, il faut aller chercher le dernier enregistrement et remonter au premier.
Pas vraiment... Pour pouvoir compter les enregistrements, il faut "traverser" au moins une fois le recordset.
donc, faire un recordset.MoveLast
On pose une condition pour vérifier s'il existe un enregistrement, sinon on prend une erreur.
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset)
if rcdRecord.RecordCount >0 then rcdRecord.Movelast '=> dernier enregistrement rcdRecord.MoveFirst '=> premier enregistrement end if
[Texte0] = rcdRecord.RecordCount
Heu... cela fonctionne mais...
Set rst = CurrentDb.OpenRecordset(...) If Not rst.EOF Then rst.MoveLast End if
NombreRecord = rst.RecordCount
J'ajouterais, que si "Michel" serait resté dans le fil dans lequel il s'annonce comme "Raymond" ??? et s'il avait lu la réponse faite à ce moment là, il n'aurait pas eu besoin de revenir pour reposer la même...
-- A+ Pierre (3stone) Access MVP ------------------------------------------------------- Bien démarrer ? c'est ici http://users.skynet.be/mpfa/ ( Je ne réponds pas aux emails qui concernent Access ) -------------------------------------------------------
Salut,
"Jean" <valckej@wanadoo.fr> a écrit:
Michel,
Pour pouvoir compter les enregistrements, il faut aller
chercher le dernier enregistrement et remonter au premier.
Pas vraiment...
Pour pouvoir compter les enregistrements, il faut "traverser" au moins une fois le recordset.
donc, faire un recordset.MoveLast
On pose une condition pour vérifier s'il existe un
enregistrement, sinon on prend une erreur.
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset)
if rcdRecord.RecordCount >0 then
rcdRecord.Movelast '=> dernier enregistrement
rcdRecord.MoveFirst '=> premier enregistrement
end if
[Texte0] = rcdRecord.RecordCount
Heu... cela fonctionne mais...
Set rst = CurrentDb.OpenRecordset(...)
If Not rst.EOF Then
rst.MoveLast
End if
NombreRecord = rst.RecordCount
J'ajouterais, que si "Michel" serait resté dans le fil
dans lequel il s'annonce comme "Raymond" ???
et s'il avait lu la réponse faite à ce moment là,
il n'aurait pas eu besoin de revenir pour reposer la même...
--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Pour pouvoir compter les enregistrements, il faut aller chercher le dernier enregistrement et remonter au premier.
Pas vraiment... Pour pouvoir compter les enregistrements, il faut "traverser" au moins une fois le recordset.
donc, faire un recordset.MoveLast
On pose une condition pour vérifier s'il existe un enregistrement, sinon on prend une erreur.
Set rcdRecord = CurrentDb.OpenRecordset(strRecordset)
if rcdRecord.RecordCount >0 then rcdRecord.Movelast '=> dernier enregistrement rcdRecord.MoveFirst '=> premier enregistrement end if
[Texte0] = rcdRecord.RecordCount
Heu... cela fonctionne mais...
Set rst = CurrentDb.OpenRecordset(...) If Not rst.EOF Then rst.MoveLast End if
NombreRecord = rst.RecordCount
J'ajouterais, que si "Michel" serait resté dans le fil dans lequel il s'annonce comme "Raymond" ??? et s'il avait lu la réponse faite à ce moment là, il n'aurait pas eu besoin de revenir pour reposer la même...
-- A+ Pierre (3stone) Access MVP ------------------------------------------------------- Bien démarrer ? c'est ici http://users.skynet.be/mpfa/ ( Je ne réponds pas aux emails qui concernent Access ) -------------------------------------------------------