hamardfred
Messages postés27Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention20 janvier 2008
-
24 févr. 2006 à 11:30
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
31 mars 2008 à 17:14
Bonjour,
En vb, je voudrais mettre un élément dans la liste de la combo, si ce dernier n'exite pas dans la liste. Et je voudrais qu'a chaque ouverture de mon programme, les nouveaux éléments mis dans les listes soient toujours présents.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 24 févr. 2006 à 12:12
Salut.
Pour verifier si un element est dans la list tu peux essayer ceci
Private Function IsInListe(Elem As String) As Boolean
Dim i As Integer
IsInListe = False
For i = 0 To cb.ListCount
If cb.List(i) = Elem Then
IsInListe = True
Exit For
End If
Next
End Function
Et dans le code tu fais: If Not IsInliste("TOTO") then Call cb.AddItem("TOTO")
Ensuite si tu veux memoriser les elements ajouter tu peux les sauvegarde dans un fichier txt du style:
Dim i As Integer
Open "C:\ListeItem.txt" For Output As #1
For i = 0 To cb.ListCount
Print #1, cb.List(i)
Next
Close #1
Ensuite pour les recuperer tu fais:
Private Sub Form_Load()
Dim It As String
Open "C:\ListeItem.txt" For Input As #1
While Not EOF(1)
Input #1, It
Call cb.AddItem(It)
Wend
Close #1
End Sub
@+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 24 févr. 2006 à 14:54
ta fonction peut s'ecrire :
Private Const CB_FINDSTRINGEXACT As Long = &H158
Private
Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA"
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef
lParam As Any) As Long
Private Function IsInListe(Elem As String) As Boolean
IsInListe = (SendMessage(cb.hwnd, CB_FINDSTRINGEXACT, -1, ByVal Text1.Text) <> -1)
End Function
attention a ta boucle d'écriture.....
For i = 0 To cb.ListCount - 1 Print #1, cb.List(i)
Next i
cs_lembi
Messages postés3Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention31 mars 2008 31 mars 2008 à 16:42
voici mon code qui permet d'alimenter le combo1 par des donnees de champ nom du table id
et je veux qui le nom ne repete pas(combo sans doublans)
mais dans le form load il ya un erreur le compilateur il m'affiche
nombre d'arguments ou d'affectation de propriete incorrecte
svp aidez moi et 1000 merci
Private Sub Form_Load()
Dim strTemp As String
Adodc1.RecordSource = " select * from id"
Adodc1.CommandType = adCmdText
Adodc1.Refresh
Combo1.Clear
While Not Adodc1.Recordset.EOF
Combo1.AddItem Adodc1.Recordset.Fields(1) & ""
If Not IsInListe(Combo1, strTemp) Then
Combo1.AddItem strTemp
End If
Adodc1.Recordset.MoveNext
Wend
Adodc1.Recordset.Close
End Sub
Private Function IsInListe(strTemp As String) As Boolean
Dim i As Integer
IsInListe = False
For i = 0 To Combo1.ListCount
If Combo1.List(i) = strTemp Then
IsInListe = True
Exit For
End If
Next
End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?