19. januar 2003 - 17:15Der er
7 kommentarer og 1 løsning
text < list
Hej med jer alle sammen jeg er ny og det er det første ? jeg har stillet. jeg har et problem med VB. som jeg nu gerne vil have lidt hjælp med. jeg er i gang med at lave et DVD katalog og har lavet en liste med filmne i og en textbox hvor man kan søge efter filmene. jeg vil gerne have at man kan søge på alt som starter med et givent bogstav eller ord som man intaster i textboxen jeg har prøvet med : InStr(List1.List(i), Text1.Text) > 0 Then List2.AddItem List1.List(i) men den finder alt som indeholder det intastet er der nogle der kan hjælpe mig med det
Private Sub Text1_Change() List2.Clear Dim I As Long List2.Visible = False For I = 0 To List1.ListCount - 1 If LCase(List1.List(I)) Like "*" & LCase(Text1.Text) & "*" Then List2.AddItem List1.List(I) End If Next List2.Visible = True End Sub
Ovenstående kode løber alle filmene i List1 igennem og undersøger, hvilke film der passer til søgeteksten i tekstfeltet, Text1. Dette sker hver gang du ændrer i søgningen.
Sig til, hvis der er problemer eller koden ikke virker efter hensigten.
Private Sub Text1_Change() List2.Clear Dim I As Long List2.Visible = False For I = 0 To List1.ListCount - 1 If LCase(List1.List(I)) Like "*" & LCase(Replace(Text1.Text, " ", "*")) & "*" Then List2.AddItem List1.List(I) End If Next List2.Visible = True End Sub
den tager både bogstaver midt i orderne og i begyndelse det skulle gerne kun være de or dre starter med det intastet. eks. taster man h kommer der nogle med k hvor der er h i og også dem med h
Private Sub Text1_Change() List2.Clear Dim I As Long List2.Visible = False For I = 0 To List1.ListCount - 1 If LCase(List1.List(I)) Like LCase(Replace(Text1.Text, " ", "*")) & "*" Then List2.AddItem List1.List(I) End If Next List2.Visible = True End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.