OVH Cloud OVH Cloud

pb : compter les enregistrements d 1 BDD

6 réponses
Avatar
fabrizio-r
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements que=20
j ai dans ma base de donn=E9es sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er=20
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette fa=E7on :

cpt.Caption =3D "Enregistrement : " &=20
Adodc1.Recordset.AbsolutePosition & " / " &=20
Adodc1.Recordset.RecordCount

cptclos.Caption =3D "Enregistrements clos : " &=20
Adodc2.Recordset.AbsolutePosition & " / " &=20
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,=20
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1=20
alors que je le veux =E0 0.

Si quelqu'un peut m'aider =E0 ce niveau...

Merci d'avance,

Fabrice.

6 réponses

Avatar
Clive Lumb
Si tu lis l'aide tu verras que AbsolutePosition retourne -1 s'il n'y a pas
d'enregistrement courant ou si le recordset est vide. Cela retourne une
erreur si l'enregistrement courant est effacé.

"If there is no current record, as when there are no records in the
Recordset object, AbsolutePosition returns -1. If the current record is
deleted, the AbsolutePosition property value isn't defined, and a trappable
error occurs if it's referenced. New records are added to the end of the
sequence."



"fabrizio-r" a écrit dans le message
de news:437701c42b76$14d78360$
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements que
j ai dans ma base de données sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette façon :

cpt.Caption = "Enregistrement : " &
Adodc1.Recordset.AbsolutePosition & " / " &
Adodc1.Recordset.RecordCount

cptclos.Caption = "Enregistrements clos : " &
Adodc2.Recordset.AbsolutePosition & " / " &
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1
alors que je le veux à 0.

Si quelqu'un peut m'aider à ce niveau...

Merci d'avance,

Fabrice.
Avatar
fabrizio-r
Alors comment puis je faire pour remédier à ce problème???

Fabrice.

-----Message d'origine-----
Si tu lis l'aide tu verras que AbsolutePosition


retourne -1 s'il n'y a pas
d'enregistrement courant ou si le recordset est vide.


Cela retourne une
erreur si l'enregistrement courant est effacé.

"If there is no current record, as when there are no


records in the
Recordset object, AbsolutePosition returns -1. If the


current record is
deleted, the AbsolutePosition property value isn't


defined, and a trappable
error occurs if it's referenced. New records are added


to the end of the
sequence."



"fabrizio-r" a


écrit dans le message
de news:437701c42b76$14d78360$
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements que
j ai dans ma base de données sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette façon :

cpt.Caption = "Enregistrement : " &
Adodc1.Recordset.AbsolutePosition & " / " &
Adodc1.Recordset.RecordCount

cptclos.Caption = "Enregistrements clos : " &
Adodc2.Recordset.AbsolutePosition & " / " &
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1
alors que je le veux à 0.

Si quelqu'un peut m'aider à ce niveau...

Merci d'avance,

Fabrice.


.



Avatar
Clive Lumb
Tu te crées une fonction ou un sub !
Par exemple (non-testé)....
sub MyPosition(rs as ADODB.recordset, lbl as Label, Prefixe as String)
Dim Posn as String
Dim RsCount as String
Dim Chaine as String
Chaine=Prefixe
On error Go To Oops
RsCount=trim$(str$(rs.RecordCount))
Posn=trim$(str$(rs.AbsolutePosition))
Chaine=Chaine & Posn & "/" & RsCount
lbl.Caption=Chaine
Exit Sub

Oops:
' Arrivé ici parce que pas d'enregistrements ou pas d'enregistrement courant
Posn="-"
Resume Next

End Sub

Exemple d'utilisation :
Call MyPosition( Adodc1.Recordset, Me.cpt, "Enregistrement : ")


"fabrizio-r" a écrit dans le message
de news:43bd01c42b81$99ba8590$
Alors comment puis je faire pour remédier à ce problème???

Fabrice.

-----Message d'origine-----
Si tu lis l'aide tu verras que AbsolutePosition


retourne -1 s'il n'y a pas
d'enregistrement courant ou si le recordset est vide.


Cela retourne une
erreur si l'enregistrement courant est effacé.

"If there is no current record, as when there are no


records in the
Recordset object, AbsolutePosition returns -1. If the


current record is
deleted, the AbsolutePosition property value isn't


defined, and a trappable
error occurs if it's referenced. New records are added


to the end of the
sequence."



"fabrizio-r" a


écrit dans le message
de news:437701c42b76$14d78360$
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements que
j ai dans ma base de données sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette façon :

cpt.Caption = "Enregistrement : " &
Adodc1.Recordset.AbsolutePosition & " / " &
Adodc1.Recordset.RecordCount

cptclos.Caption = "Enregistrements clos : " &
Adodc2.Recordset.AbsolutePosition & " / " &
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1
alors que je le veux à 0.

Si quelqu'un peut m'aider à ce niveau...

Merci d'avance,

Fabrice.


.



Avatar
fabrizio-r
Dans le prog que tu m as donné, qd je sui sur le on error
goto Oops, le prog ne va pas ds la boucle Oops et du coup
j ai tjr enregistrement : -1 / 0

tu sais pourquoi??????

fabrice.


-----Message d'origine-----
Tu te crées une fonction ou un sub !
Par exemple (non-testé)....
sub MyPosition(rs as ADODB.recordset, lbl as Label,


Prefixe as String)
Dim Posn as String
Dim RsCount as String
Dim Chaine as String
Chaine=Prefixe
On error Go To Oops
RsCount=trim$(str$(rs.RecordCount))
Posn=trim$(str$(rs.AbsolutePosition))
Chaine=Chaine & Posn & "/" & RsCount
lbl.Caption=Chaine
Exit Sub

Oops:
' Arrivé ici parce que pas d'enregistrements ou pas


d'enregistrement courant
Posn="-"
Resume Next

End Sub

Exemple d'utilisation :
Call MyPosition( Adodc1.Recordset,


Me.cpt, "Enregistrement : ")


"fabrizio-r" a


écrit dans le message
de news:43bd01c42b81$99ba8590$
Alors comment puis je faire pour remédier à ce


problème???

Fabrice.

-----Message d'origine-----
Si tu lis l'aide tu verras que AbsolutePosition


retourne -1 s'il n'y a pas
d'enregistrement courant ou si le recordset est vide.


Cela retourne une
erreur si l'enregistrement courant est effacé.

"If there is no current record, as when there are no


records in the
Recordset object, AbsolutePosition returns -1. If the


current record is
deleted, the AbsolutePosition property value isn't


defined, and a trappable
error occurs if it's referenced. New records are added


to the end of the
sequence."



"fabrizio-r" a


écrit dans le message
de news:437701c42b76$14d78360$
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements que
j ai dans ma base de données sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette façon :

cpt.Caption = "Enregistrement : " &
Adodc1.Recordset.AbsolutePosition & " / " &
Adodc1.Recordset.RecordCount

cptclos.Caption = "Enregistrements clos : " &
Adodc2.Recordset.AbsolutePosition & " / " &
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1
alors que je le veux à 0.

Si quelqu'un peut m'aider à ce niveau...

Merci d'avance,

Fabrice.


.





.



Avatar
Clive Lumb
Parceque j'ai mal progammé !
Remplacer
Posn=trim$(str$(rs.AbsolutePosition))
par
If rs.AbsolutePosition <0 the
Posn="N/A" 'Ou "-", ou "0" - comme tu voudras
Else
Posn=trim$(str$(rs.AbsolutePosition))
Endif


Clive
"fabrizio-r" a écrit dans le message
de news:450701c42b91$49a9bed0$
Dans le prog que tu m as donné, qd je sui sur le on error
goto Oops, le prog ne va pas ds la boucle Oops et du coup
j ai tjr enregistrement : -1 / 0

tu sais pourquoi??????

fabrice.


-----Message d'origine-----
Tu te crées une fonction ou un sub !
Par exemple (non-testé)....
sub MyPosition(rs as ADODB.recordset, lbl as Label,


Prefixe as String)
Dim Posn as String
Dim RsCount as String
Dim Chaine as String
Chaine=Prefixe
On error Go To Oops
RsCount=trim$(str$(rs.RecordCount))
Posn=trim$(str$(rs.AbsolutePosition))
Chaine=Chaine & Posn & "/" & RsCount
lbl.Caption=Chaine
Exit Sub

Oops:
' Arrivé ici parce que pas d'enregistrements ou pas


d'enregistrement courant
Posn="-"
Resume Next

End Sub

Exemple d'utilisation :
Call MyPosition( Adodc1.Recordset,


Me.cpt, "Enregistrement : ")


"fabrizio-r" a


écrit dans le message
de news:43bd01c42b81$99ba8590$
Alors comment puis je faire pour remédier à ce


problème???

Fabrice.

-----Message d'origine-----
Si tu lis l'aide tu verras que AbsolutePosition


retourne -1 s'il n'y a pas
d'enregistrement courant ou si le recordset est vide.


Cela retourne une
erreur si l'enregistrement courant est effacé.

"If there is no current record, as when there are no


records in the
Recordset object, AbsolutePosition returns -1. If the


current record is
deleted, the AbsolutePosition property value isn't


defined, and a trappable
error occurs if it's referenced. New records are added


to the end of the
sequence."



"fabrizio-r" a


écrit dans le message
de news:437701c42b76$14d78360$
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements que
j ai dans ma base de données sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette façon :

cpt.Caption = "Enregistrement : " &
Adodc1.Recordset.AbsolutePosition & " / " &
Adodc1.Recordset.RecordCount

cptclos.Caption = "Enregistrements clos : " &
Adodc2.Recordset.AbsolutePosition & " / " &
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1
alors que je le veux à 0.

Si quelqu'un peut m'aider à ce niveau...

Merci d'avance,

Fabrice.


.





.



Avatar
fabrizio-r
je te remercie beaucoup. cela fonctionne tres bien.
merci de ton aide.

Fabrice.

-----Message d'origine-----
Parceque j'ai mal progammé !
Remplacer
Posn=trim$(str$(rs.AbsolutePosition))
par
If rs.AbsolutePosition <0 the
Posn="N/A" 'Ou "-", ou "0" - comme tu voudras
Else
Posn=trim$(str$(rs.AbsolutePosition))
Endif


Clive
"fabrizio-r" a


écrit dans le message
de news:450701c42b91$49a9bed0$
Dans le prog que tu m as donné, qd je sui sur le on error
goto Oops, le prog ne va pas ds la boucle Oops et du coup
j ai tjr enregistrement : -1 / 0

tu sais pourquoi??????

fabrice.


-----Message d'origine-----
Tu te crées une fonction ou un sub !
Par exemple (non-testé)....
sub MyPosition(rs as ADODB.recordset, lbl as Label,


Prefixe as String)
Dim Posn as String
Dim RsCount as String
Dim Chaine as String
Chaine=Prefixe
On error Go To Oops
RsCount=trim$(str$(rs.RecordCount))
Posn=trim$(str$(rs.AbsolutePosition))
Chaine=Chaine & Posn & "/" & RsCount
lbl.Caption=Chaine
Exit Sub

Oops:
' Arrivé ici parce que pas d'enregistrements ou pas


d'enregistrement courant
Posn="-"
Resume Next

End Sub

Exemple d'utilisation :
Call MyPosition( Adodc1.Recordset,


Me.cpt, "Enregistrement : ")


"fabrizio-r" a


écrit dans le message
de news:43bd01c42b81$99ba8590$
Alors comment puis je faire pour remédier à ce


problème???

Fabrice.

-----Message d'origine-----
Si tu lis l'aide tu verras que AbsolutePosition


retourne -1 s'il n'y a pas
d'enregistrement courant ou si le recordset est vide.


Cela retourne une
erreur si l'enregistrement courant est effacé.

"If there is no current record, as when there are no


records in the
Recordset object, AbsolutePosition returns -1. If the


current record is
deleted, the AbsolutePosition property value isn't


defined, and a trappable
error occurs if it's referenced. New records are added


to the end of the
sequence."



"fabrizio-r" a


écrit dans le message
de news:437701c42b76$14d78360$
Bonjour a tous,

j affiche dans mon form le nombre d 'enregistrements






que
j ai dans ma base de données sous la forme :

Enregistrement : 1 / 3

pour dire que je suis actuellement sur le 1er
enregistrement sur un total de trois.

Ainsi en VB, j ai fait de cette façon :

cpt.Caption = "Enregistrement : " &
Adodc1.Recordset.AbsolutePosition & " / " &
Adodc1.Recordset.RecordCount

cptclos.Caption = "Enregistrements clos : " &
Adodc2.Recordset.AbsolutePosition & " / " &
Adodc2.Recordset.RecordCount


cependant quand j ai aucun enregistrement dans ma base,
il m'afffiche :

enregistrement : -1 / 0

Je ne comprend pas pourquoi l'absoluteposition est a -1
alors que je le veux à 0.

Si quelqu'un peut m'aider à ce niveau...

Merci d'avance,

Fabrice.


.





.





.