PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 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 !?
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 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 !?