OVH Cloud OVH Cloud

Numéroter les enregistrements

2 réponses
Avatar
Jacques
Bonjour,

J'utilise cette fonction pour num=E9roter les enregistrements(1; 2; 3;
etc....), mais comment faire pour =E9viter d'avoir le m=EAme num=E9ro
lorsque le champ de r=E9f=E9rence contient la m=EAme valeur (1001=3D1;
1001=3D2; 1002=3D3) actuellement(1001=3D1; 1001=3D1; 1002=3D2).

Merci pour votre aide.

Salutations.

Function LireNoLigne(F As Form, NomCl=E9 As String, valeurCl=E9 As
String)

Dim rs As Recordset
Dim CtrLignes

On Error GoTo Err_LireNoLigne

Set rs =3D F.RecordsetClone

'--- Recherche eng actif avec test du type cl=E9 pour la syntaxe
Select Case rs.Fields(NomCl=E9).Type

'--- Recherche avec syntaxe pour cl=E9 type num=E9rique
Case DB_INTEGER, DB_LONG, DB_CURRENCY, DB_SINGLE, DB_DOUBLE,
DB_BYTE
rs.FindFirst "[" & NomCl=E9 & "] =3D " & valeurCl=E9

'--- Recherche avec syntaxe pour cl=E9 type date
Case DB_DATE
rs.FindFirst "[" & NomCl=E9 & "] =3D #" & valeurCl=E9 & "#"

'--- Recherche avec syntaxe pour cl=E9 type texte
Case DB_TEXT
rs.FindFirst "[" & NomCl=E9 & "] =3D " & Chr(34) & valeurCl=E9 &
Chr(34)

Case Else
MsgBox " ERREUR/ Type de donn=E9e de la cl=E9 invalide"
Exit Function

End Select

'--- Boucle en remontant pour compter les lignes et d=E9terminer
' le Num=E9ro de ligne de l'Enregistrement lu

Do Until rs.BOF
CtrLignes =3D CtrLignes + 1
rs.MovePrevious
Loop

Fin_LireNoLigne:

'--- Retourne le r=E9sultat
LireNoLigne =3D CtrLignes
Exit Function

Err_LireNoLigne:
CtrLignes =3D 0
Resume Fin_LireNoLigne
=20
End Function

2 réponses

Avatar
3stone
Salut,

"Jacques"
J'utilise cette fonction pour numéroter les enregistrements(1; 2; 3;
etc....), mais comment faire pour éviter d'avoir le même numéro
lorsque le champ de référence contient la même valeur (1001=1;
1001=2; 1002=3) actuellement(1001=1; 1001=1; 1002=2).
<snip>


Pas testé ou regardé ton code, mais...
pour numéroter au niveau d'une requête, tu peux regarder ceci :
http://www.3stone.be/access/articles.php?lng=fr&pg9


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Jacques
Bonjour 3stone,

Merci pour ta réponse elle me convient parfaitement,

Salutations,


Salut,

"Jacques"
J'utilise cette fonction pour numéroter les enregistrements(1; 2; 3;
etc....), mais comment faire pour éviter d'avoir le même numéro
lorsque le champ de référence contient la même valeur (1001=1;
1001=2; 1002=3) actuellement(1001=1; 1001=1; 1002=2).
<snip>


Pas testé ou regardé ton code, mais...
pour numéroter au niveau d'une requête, tu peux regarder ceci :
http://www.3stone.be/access/articles.php?lng=fr&pg9


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/