Visual Basic - cadena de texto

Life is soft - evento anual de software empresarial
 
Vista:

cadena de texto

Publicado por miguel (47 intervenciones) el 27/10/2005 00:21:42
Hola, creo que la consulta no debe ser muy difícil pero la verdad es que no doy con la solución.

Me gustaría saber cómo puedo hacer para buscar palabras poniendo alguna de las primeras letras iniciales. El algoritmo de búsqueda lo tengo pero lo que no sé es cómo indicarle que busque por la letra.

Es decir, lo que busco es poder poner "letra + lo que sea", yo hago buscar = "apellidos Like Palabra & "*", pero así no sale, me gustaría que alguien me indicara esta sentencia select (letra.*).

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:cadena de texto

Publicado por miguel (47 intervenciones) el 27/10/2005 00:57:13
Hola aquí estoy de nuevo. El algoritmo que uso es:

Private Sub Buscar_Click()
Dim Buscado As String, Criterio As String
Buscado = InputBox("¿Qué nombre quieres buscar?")
If Buscado = "" Then Exit Sub
Criterio = "Nombre Like 'Buscado & *'" AQUÍ ES DONDE FALLA, ME GUSTARÍA QUE BUSCASE LA UN NOMBRE PONIENDO LA LETRA O LETRAS INICIALES.
' Buscar desde el siguiente registro a la posición actual
Adodc1.Recordset.MoveNext
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.Find Criterio
End If
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveFirst
' Buscar desde el principio
Adodc1.Recordset.Find Criterio
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
MsgBox ("No encuentro ese nombre")
End If
End If
End Sub

Espero que podais ayudarme.

Muchas Gracias.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cadena de texto

Publicado por Eli (49 intervenciones) el 27/10/2005 01:04:29
hay varias

'Aqui listamos todo lo que empiece con la letra E
select * from TABLA where PrimerApellido like 'E%'

'aqui listamos todo lo que lleve la letra E en cualquier parte del campo
select * from TABLA where PrimerApellido like '%E%'

'aqui listamos todo lo que termine con la letra E
select * from TABLA where PrimerApellido like '%E'

'El comodin es %

salu2

espero que te sirva y si no estamos para ayudarte

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

espero te sirva

Publicado por anonymous (171 intervenciones) el 27/10/2005 02:55:47
Yo utilizo este código que alguien me pasó para buscar en un campo por las primeras letras de un nombre; utilizas un textbox para introducir el nombre y un listbox para que te muestre todos los registros que coincidan con las letras que vayas tecleando. Llamas a la base de datos y al recordset. En el evento CHANGE del textbox pon este código:

With Rs
Dim TCadena, T As Variant
If Rs.RecordCount > 0 Then
List1.Clear
Rs.MoveFirst
TCadena = Len(Text1.Text)
While Not Rs.EOF
Cadena = Mid(Rs(0), 1, Len(Text1.Text))
If UCase(Cadena) Like UCase(Text1.Text) Then
List1.AddItem Rs(0)
End If
Rs.MoveNext
Wend
End If
End With

Espero te sirva, a mí me funciona muy bien.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gracias a Eli y Fco. Javier

Publicado por miguel (47 intervenciones) el 27/10/2005 23:29:42
Quiero daros las gracias por vuestras respuestas.

He probado las 2 y funcionan de maravilla. Estaba muy perdido y no daba con la sentencia correcta.

Pues muchas gracias y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar