Visual Basic - Alguien sabe cómo autocompletar una busqueda???

Life is soft - evento anual de software empresarial
 
Vista:

Alguien sabe cómo autocompletar una busqueda???

Publicado por Monica_Liz (26 intervenciones) el 03/04/2007 18:19:22
Alguien sabe cómo puedo hacer para poner una caja de texto desplegable que cuando escribo una palabra se me desplegue una lista con las palabras que empiezan con lo que estoy escribiendo en la caja de texto... Así lo podemos ver en el google o en esta misma página cuando ponemos nuestro correo o nombre y ponemos la primera letra y ya se despliega una lista o submenú ... me entendieron?? Cómo se hace esoOo??
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:Alguien sabe cómo autocompletar una busqueda???

Publicado por Jose Gpe (5 intervenciones) el 03/04/2007 21:12:52
ojala que te sirva esto, yo lo hago en un Grid pero puede ser una idea util

puedo enviarte el formulario para que sea mas explicito, lo que pasa es que creo que necesitas almacenar en una base lo ultimo escrito, eso es lo que yo haria.

bueno ojala te sirva.

Salu"2

Private Sub Combo3_Click()
Dim CRITERIO As String
Dim mensaje As String
mostrar= 800 ' Numero de registros para mostrar
CRITERIO = "SELECT TOP 800 nombre as NOMBRE_PACIENTE, edad as EDAD_, localidad as LOCALIDAD_O_CIUDAD, fechacita as FECHA_DE_LA_CITA, proxcita as PROXIMA_CITA, diagnostico as DIAGNOSTICO" & _
" FROM pacientes" & _
" WHERE (diagnostico LIKE '" & Combo3.Text & "%') ORDER BY diagnostico"
adodc.RecordSource = CRITERIO
adodc.Refresh

Text5.Text = adodc.Recordset.RecordCount ' muestra los registros encontrados

End Sub
Private Sub Form_Load()
Calendar1.Visible = False
Text1.Text = " "
Text1.Text = ""
End Sub

Private Sub Text1_Change()
Dim CRITERIO As String
Dim mensaje As String
mostrar = 800
CRITERIO = "SELECT TOP 800 nombre as NOMBRE_PACIENTE, edad as EDAD_, localidad as LOCALIDAD_O_CIUDAD, fechacita as FECHA_DE_LA_CITA, proxcita as PROXIMA_CITA, diagnostico as DIAGNOSTICO" & _
" FROM pacientes" & _
" WHERE (nombre LIKE '" & Text1 & "%') ORDER BY nombre"
adodc.RecordSource = CRITERIO
adodc.Refresh
Text5.Text = adodc.Recordset.RecordCount
End Sub
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:Alguien sabe cómo autocompletar una busqueda???

Publicado por GUSTAVO (218 intervenciones) el 06/04/2007 15:43:01
haces la busque como del registro comparando la letra escrita, en el evento change del textbox o comobox, con la letra del registro, para esto utliza un len del registro y un len de la entrada de datos. ejemplo:

cn.Provider = "microsoft.jet.oledb.4.0"
cn.ConnectionString = App.Path & "\principal1.mdb"
cn.Open
rs.Open "select * from datos", cn, adOpenKeyset, adLockOptimistic
If Not rs.EOF Then rs.MoveFirst
With rs
LST_APE.Clear
l = Len(txt_ape)
If txt_ape <> "" Then
While Not .EOF
ape_t = Left(rs!apellido, l): ape_t1 = Format(Left(rs!apellido, l), ">")
If ape_t = txt_ape Or ape_t1 = Format(txt_ape, ">") Then
LST_APE.AddItem (rs!apellido & " " & rs!nombre & " CI: " & rs!cedula)
End If
rs.MoveNext
Wend
End If
End With
rs.Close
cn.Close
End Sub

esta es una forma rudimentaria, pero funciona agregando los datos a un listbox
espero te ayude
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