Hallå! Du kan bara göra en lvwPartial sökning på text egenskapen.<br> hmm... jag är inte så jätte bra på vb, skulle du kunna berätta hur man gör för att den ska börja söka när man trycker på en knapp och sen om den hittar något, markera det i RichTextBoxen? Inte mitt jobb att lära dig vb. Får läsa en bok, artiklar eller gå någon kurs.Sökning i ListView
Kan någon hjälpa mig att skriva om denna koden så att man kan söka på delar av det letar efter, e.x om man vill leta upp "Hejsan" så ska man bara behöva skriva "Hej" eller "san".
Dim itmX As ListItem
Dim find
find = Text7.Text
If IsNull(find) Then
Exit Sub
End If
If Option1.Value = True Then
Set itmX = ListView1.FindItem(CStr(find), lvwText, lvwPartial)
If itmX Is Nothing Then
MsgBox "Ditt sökord matchade inte med något i listan!", vbCritical, "Telefonboken"
Text7.Text = ""
Exit Sub
End If
Else: If Option2.Value = True Then Set itmX = ListView1.FindItem(CStr(find), lvwSubItem, , lvwPartial)
If itmX Is Nothing Then
MsgBox "Ditt sökord matchade inte med något i listan!", vbCritical, "Telefonboken"
Text7.Text = ""
Exit Sub
End If
End If
Ledsen över den dåliga koden... har inte lärt mig att skriva in namn och så än.Sv: Sökning i ListView
<br>
Från hjälpen:<br>
<br>
lvwWholeWord 0 (Default) <br>
An integer or constant specifying that a match will occur<br>
if the item's Text property begins with the whole word being searched.<br>
Ignored if the criteria is not text.<br>
<br>
lvwPartial 1<br>
An integer or constant specifying that a match will occur<br>
if the item's Text property begins with the string being searched. <br>
Ignored if the criteria is not text. <br>
<br>
Du får i så fall göra en egen sök funktion:
<code>
Public Function FindListItem(ListView As ListView, Find As String, Optional Compare As VbCompareMethod = vbTextCompare) As ListItem
Dim Item As ListItem
Dim SubItem As ListSubItem
For Each Item In ListView.ListItems
If InStr(1, Item.Text, Find, Compare) Then
Set FindListItem = Item
Exit Function
Else
For Each SubItem In Item.ListSubItems
If InStr(1, SubItem.Text, Find, Compare) Then
Set FindListItem = Item
Exit Function
End If
Next
End If
Next
End Function
</code>Sv: Sökning i ListView
Sv: Sökning i ListView
Kan ge ett exempel på hur du anropar funktionen:
<code>
Private Sub Command1_Click()
Dim Item As ListItem
Set Item = FindListItem(ListView1, Text1.Text)
If Item Is Nothing Then
Msgbox "Sögning gav inga träffar"
Else
ListView1.SetFocus
Item.Selected = True
End if
End Sub
</code>