Crear textbox en encabezado para consultar en un form.continuo y que vallan mostrando registros y contando los mismos

Necesito crear un cuadro de texto en el encabezado de de un formulario continuo para ir buscando registros a medida que tecleo dentro del mismo formulario, es decir, si escribo "Juan" me muestre todos los registros de juan. Algo parecido como si lo hiciera con cuadro de lista.

Respuesta
2

Richard, me surgen muchas preguntas

1º ¿Tiene qué ser un cuadro de texto exclusivamente? O puede ser un combinado.

2º ¿Te refieres a escribir Juan completamente o por el contrario, escribes J luego pones la u, etc? Te lo digo porque los combinados tienen expansión automática.

3º Lo que escribes está al principio del campo o, por ejemplo, juan ¿puede estar en medio de la cadena?, por ejemplo, José Juan García

Primero que todo muchas gracias por su pronta respuesta.

No necesariamente un cuadro de texto, podría ser un combinado también,  y que lo que escriba este en medio de la cadena. 

Gracias

Te pongo un ejemplo, pero se podría hacer de más formas

Si tengo un formulario(no te preocupes porque lo tuyo sea un subformulario) con un combinado con productos

Lo he desplegado para que veas los productos que hay.

Si ahora escribo L, como le he puesto que expansión automática=No, me busca todos aquellos productos que tengan una l, sea donde sea

si ahora escribo una o

O bien sigo "limitando" o bien lo elijo ya.

El combinado se llama ComboE y en vista diseño del formulario le he añadido como oculto un cuadro de texto al que he llamado Elegir.

En el evento Al cambiar del combinado le he puesto

Private Sub ComboE_Change()
Elegir = ComboE.Text
ComboE.RowSource = "select producto from productos where producto like ""*"" & forms!ventas!elegir & ""*"""
ComboE.Dropdown
End Sub

Luego sólo tendrías que poner en el evento Después de actualizar del combinado

me!nombredelsubformulario.form.recordsource="selec * from ventas where producto='" & me.comboe & "'"

Lógicamente tienes que adaptar los nombres a los tuyos.

que pena, no logro ubicarme bien, tengo ese formulario que he mostrado con origen de registro de una consulta, he agregado el combo y todo como me indicas, pero me salen varios errores . no si es por el origen de los datos o que sera ? 

mi formulario se llama SEMAFORO,  el combo lo he llamado Combo_Busca, ahh y el origen de datos es de una consulta: 

luego de elegir algún nombre el combo me queda en blanco. 

que estaré haciendo mal ?

A la vista de la imagen, lo puedes hacer más sencillo.

Si tengo el formulario Semaforo, al que le he añadido un cuadro de texto llamado Texto23, donde vas a escribir una cadena del nombre del paciente

Escribi vi y pulso enter

Como ves, me sale jaVIer y VIloria

Si hubiera escrito ga

Al pulsar enter

Me muestra GAlan y GArcía

El código del evento Despues de actualizar del cuadro de texto texto23 es

Private Sub Texto23_AfterUpdate()
Me.RecordSource = "select * from semaforo where nombrepaciente like ""*""&'" & Me.Texto23 & "' & ""*"""
End Sub

En caso de que fuera un subformulario, al que para el ejemplo, llamaremos Pacientes y el cuadro de texto estuviera en el formulario la instrucción sería

Private Sub Texto23_AfterUpdate()
Me!pacientes.form.RecordSource = "select * from semaforo where nombrepaciente like ""*""&'" & Me.Texto23 & "' & ""*"""
End Sub

Lógicamente cuantas más letras pongas en el cuadro de texto más se "refina" la búsqueda.

que pena con usted, el ejemplo esta bastante sencillo pero no se que hago mal, me manda este error: 

el cuadro de texto por error lo llame "CmbBusca", pero creo que eso no afecte

y así tengo diseñado el formulario:

en que estoy fallando ? me siento perdido si no doy con resolver eso aun contando con su ayuda...

La verdad, no le veo el fallo, la instrucción está correctamente redactada. Lo único que puedo hacer es que si quieres, repito si quieres, mándame una copia con tres o cuatro registros inventados a [email protected] y la miro.

Si lo haces, en el asunto del mensaje pon tu alias Richard Andrés, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas