Problème dans test de doublon!

Résolu
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 21 sept. 2009 à 13:50
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 22 sept. 2009 à 02:26
Bonjour,

je souhaiterai vérifier que dans mon "panier" qu'un même employé n'a pas été ajouté deux fois. Je ne comprends pas trop pourquoi mais j'arrive à ajouter autant de fois que je veux un même employé (ce qui que je ne souhaite pas bien entendu) et rsdoublon.recordcount donne 1 tout le temps. Voici mon code :

'Connexion à la BD
connect

'Ce recordset permet de savoir s'il existe déjà un employé qui a été choisi pour cette mission (voir s'il fait partie du panier)
Dim rsdoublon As New Recordset
rsdoublon.Open "select count(numemploye) as doublonemp from tabletempmission where numemploye " & txtnumemploye & " and nummission '" & txtnummission & "' ", cn, adOpenStatic, adLockPessimistic

'Contrôle pour éviter d'avoir deux fois un employé qui fait déjà partie de la mission
ElseIf rsdoublon.RecordCount < 1 Then

MsgBox ("Cet employé fait déjà parti de la mission!")

End If



et lorsque je fais :

ElseIf rsdoublon.RecordCount <=1 Then


Je ne peux avoir qu'un seul employé par mission.

Quelqu'un pourrait-il m'aider s'il vous plaît?

Merci d'avance.

Cordialement.

4 réponses

js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
21 sept. 2009 à 14:39
Bonjour jmf0 et Merci pour ton intervention. Je suis désolé mais c'était bien un problème de VB contrairement à ce que tu penses. J'ai pu trouver la solution à mon problème que je te donne très volontiers :

'Connexion à la BD
connect

'Ce recordset permet de savoir s'il existe déjà un employé qui a été choisi pour cette mission (voir s'il fait partie du panier)
Dim rsdoublon As New Recordset
rsdoublonemp.Open "select count(numemploye) as doublonemp from tabletempmission where numemploye " & txtnumemploye & " and nummission '" & txtnummission & "' ", cn, adOpenStatic, adLockPessimistic

'Affectation du résultat du recordset rsdoublon à doub
Dim doub As Integer
doub = rsdoublon.Fields(0)

'Contrôle pour éviter d'ajouter deux fois un employé qui fait déjà partie de la mission
If doub >= 1 Then

MsgBox ("Cet employé fait déjà parti de la mission!")

End If


Excellente journée et prends bien soin de toi.

Cordialement.
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
21 sept. 2009 à 14:13
Bonjour,

Quelques questions et réflexions pour toi, js8bleu :

1) a quoi reconnais-tu qu'un employé (ou article) et un autre sont un seul et même (employé ou article)
2) on appelle idart l'article identificateur d'une base de données
3) un idart est forcément unique
4) un idart peut-être automatique ou "composé"
5) lorsqu'un idart est composé, on ne peut en créer 2 identiques

Voilà : tu devrais dès lors arriver seul à ta solution, qui a tout à voir avec la construction de ta table et peu à voir avec vb à proprement parler (qui, lui, n'est là que pour exploiter).
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
21 sept. 2009 à 15:29
Excuse,

J'avais lu ta question et non les commentaires de ton code, qui, eux, éclairent mieux sur le but recherché.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
22 sept. 2009 à 02:26
Je t'en prie, ça peut arriver à tout le monde . Excellente soirée. Bye.

Cordialement.
0
Rejoignez-nous