
formulario de busqueda
Publicado por horacio (8 intervenciones) el 14/11/2015 13:35:40
Buenas tengo un abm de biblioteca
libro es lo siguiente
tengo un formulario de busqueda para buscar dentro de un array
en el formulario de busqueda tengo un textbox para ingresar la busqueda
despues optionbox segun el tipo de busqueda
un botón de buscar y un listbox donde aparece el resultado de la búsqueda
como puedo filtrar la busqueda con comienze con, termine con o contenga alguna parte de la cadena
por ej busqueda por titulo
Desde ya gracias
libro es lo siguiente
1
2
3
4
5
6
7
8
Public Type TDULibro
titulo As String
autor As String
editorial As String
comentario As String
anio As Integer
cantPaginas As Integer
End Type
tengo un formulario de busqueda para buscar dentro de un array
1
Public libros() As TDULibro
en el formulario de busqueda tengo un textbox para ingresar la busqueda
despues optionbox segun el tipo de busqueda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Function seleccionar() As Integer
If Busqueda.optTitulo.Value = True Then
seleccionar = 1
End If
If Busqueda.optAutor.Value = True Then
seleccionar = 2
End If
If Busqueda.optEditorial.Value = True Then
seleccionar = 3
End If
If Busqueda.optAnio.Value = True Then
seleccionar = 4
End If
End Function
un botón de buscar y un listbox donde aparece el resultado de la búsqueda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Public Sub buscar()
Dim opcion, pos As Integer
opcion = seleccionar()
Dim search As String
search = Busqueda.txtBusqueda.Text
Select Case opcion
Case 1
pos = busquedaXTitulo(search)
Case 2
pos = busquedaXAutor(search)
Case 3
pos = busquedaXEditorial(search)
Case 4
pos = busquedaXAnio(CInt(search))
End Select
Busqueda.List1.Clear
If pos >= 0 Then
Dim libro As TDULibro
libro = libros(pos)
Dim item As String
item = libro.titulo & "-" & libro.autor & "-" & libro.editorial & "-" & libro.anio
Busqueda.List1.AddItem (item)
Else
Busqueda.List1.AddItem ("No se encontraron resultados")
End If
End Sub
como puedo filtrar la busqueda con comienze con, termine con o contenga alguna parte de la cadena
por ej busqueda por titulo
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Function busquedaXTitulo(titulo As String) As Integer
Dim i As Integer
i = LBound(libros)
While i < UBound(libros) And libros(i).titulo <> titulo
i = i + 1
Wend
If i < UBound(libros) Then
busquedaXTitulo = i
Else
busquedaXTitulo = -1
End If
End Function
Desde ya gracias
Valora esta pregunta


0