OVH Cloud OVH Cloud

Prévenir quand il y a un doublon

2 réponses
Avatar
Cestmoi
Dans un formulaire, j'ai mis un code pour qu'il m'annonce la pr=E9sence
de la m=EAme pi=E8ce (doublon) dont voici le code
Private Sub Exp=E9diteur_AfterUpdate(Cancel As Integer)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim EnrPrec As Variant
Dim EnrEnCour As Variant
Set db =3D Application.CurrentDb
Set rs =3D db.OpenRecordset("SELECT * FROM Indicateur d'entr=E9e Requ=EAte
ORDER BY Concatenation")
'1er Enreg
rs.MoveFirst
Do
If rs.AbsolutePosition <> 0 Then
rs.MovePrevious
EnrPrecedent =3D rs("Concatenation")
rs.MoveNext
If EnrEnCour =3D EnrPrec Then
MsgBox "ATTENTION CETTE PIECE EST DEJA INDICATEE"
rs.Delete
End If
End If
rs.MoveNext
Loop Until rs.EOF =3D True
End Sub

Cela ne marche pas ? Serait-ce parceque je fais r=E9f=E9rence =E0 une
requ=EAte (set rs=3D db.........FROM Indicateur d'entr=E9e Requ=EAte) ?
Je ne comprend pas ce qui ne va pas?=20
Merci d'avance

2 réponses

Avatar
Laurent Jordi
Salut,

Pourquoi ne pas faire un indexe unique qui empècherait la création de
doublon et d'ajouter une interception d'erreur pour mettre un message en
clair ?

Bien à toi

Laurent
"Cestmoi" a écrit dans le message de news:

Dans un formulaire, j'ai mis un code pour qu'il m'annonce la présence
de la même pièce (doublon) dont voici le code
Private Sub Expéditeur_AfterUpdate(Cancel As Integer)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim EnrPrec As Variant
Dim EnrEnCour As Variant
Set db = Application.CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Indicateur d'entrée Requête
ORDER BY Concatenation")
'1er Enreg
rs.MoveFirst
Do
If rs.AbsolutePosition <> 0 Then
rs.MovePrevious
EnrPrecedent = rs("Concatenation")
rs.MoveNext
If EnrEnCour = EnrPrec Then
MsgBox "ATTENTION CETTE PIECE EST DEJA INDICATEE"
rs.Delete
End If
End If
rs.MoveNext
Loop Until rs.EOF = True
End Sub

Cela ne marche pas ? Serait-ce parceque je fais référence à une
requête (set rs= db.........FROM Indicateur d'entrée Requête) ?
Je ne comprend pas ce qui ne va pas?
Merci d'avance
Avatar
Cestmoi
Je veux bien mais la recherche de doublon se fait dans une requête,
dans le champ "concatenation" précisémment. Comme je ne peux pas
faire d'index unique dans une requête, je suis coiné.