Combobox Doublée

cs_amer_ezahir Messages postés 133 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 20 septembre 2010 - 19 sept. 2005 à 17:07
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 19 sept. 2005 à 19:38
svp aidez moi à resoudre le problème de doublons combobox

ma procédure est la suivante



Private Sub ListSearchP()

On Error Resume Next

dim CltList as recordset

Combo9.Text = "Liste des Clients"

Set CltList= db.OpenRecordset("Select Nom, prénom from Clients order by nom asc")

If CltList.RecordCount > 0 Then

CltList.MoveFirst

Do While CltList.EOF = False

Combo9.AddItem CltList!Nom & " " & CltList!Prénom

CltList.MoveNext

Loop

Else

Combo9.Text = "pas encore de Client enregistré"

End If

End Sub



merci et à binetôt les amis

5 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 sept. 2005 à 17:30
salut,
toujours le même genre de problèmes avec les bases.....

c'est à toi de faire une table qui ne contienne pas de doublon.

une table ID Nom Prenom
et dans la table que tu lis, l'ID correspond à celui de ta table sans doublon.

bref, sinon, puisque tu fais un OrderBy, avant d'écrire dans le combo, tu regardes si le précédent que tu viens d'écrire n'est pas déjà celui que tu t'apprêtes à ré-écrire. si c'est le même : next.


Private Sub ListSearchP()
'à éviter si tu ne sais pas d'où provient l'erreur...
On Error Resume Next

Dim CltList As Recordset

'****
Dim TempRow As String: TempRow = "NONE"

'tu pourrais nommer tes contrôles...
Combo9.Text = "Liste des Clients"

'des accents dans les bases????
Set CltList = db.OpenRecordset("Select Nom, prénom from Clients order by nom asc")

If CltList.RecordCount > 0 Then
CltList.MoveFirst
Do While CltList.EOF = False
'***
If TempRow <> CltList!Nom & " " & CltList!Prénom Then
TempRow = CltList!Nom & " " & CltList!Prénom
Combo9.AddItem TempRow
End If
CltList.MoveNext
Loop
Else
Combo9.Text = "pas encore de Client enregistré"
End If
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
0
cs_amer_ezahir Messages postés 133 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 20 septembre 2010
19 sept. 2005 à 18:18
meric pour ton aide mais ça reste toujour le même problème
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
19 sept. 2005 à 19:06
Salut, OK avec pcpt, le mieux est de ne pas mettre de doublons dans une table mais tout dépend du genre de table que tu veux interroger. Donc, dans une requête sql, on peut utiliser DISTINCT et GROUP BY, voir la MSDN pour les expliks.

Pour ton cas, tu peux coder :

1 - Set CltList= db.OpenRecordset("Select Distinct Nom, prénom from Clients order by nom asc")
2 - Set CltList= db.OpenRecordset("Select Nom, prénom from Clients group by nom, prénom order by nom asc")

Dans les 2 cas, tu ne remontes pas de doublons (s'il y a des doublons de nom, ça sera parce qu'il n'y a pas le même prénom). Et, en plus, tu fais faire le boulot d'élimination au moteur de la base et pas à ton prog.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_amer_ezahir Messages postés 133 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 20 septembre 2010
19 sept. 2005 à 19:26
C'est pas ma table qui contient des doublons, c'est le combobox

il m'affiche des enregistrement doublés

comme cette exemple



jack leroy

Michel Andrea

Louis Filip

jack leroy


Michel Andrea


Louis Filip
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
19 sept. 2005 à 19:38
Ok, as-tu pensé à coder Combo9.clear avant de le re-remplir ? ou, si tu penses ne le remplir qu'une fois, c'est que ListSearchP est appelée plusieurs fois dans ton code.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous