Formulario para búsqueda incremental

He probado este código y no funciona

nom="*"
this.ColumnCount = 6 &&Igual, cantidad de campos
this.columnwidths = "176,176,177,176,177,176" &&Tamaño de campos
this.RowSourceType = 3
this.RowSource = "select por,ape_pater,ape_mater,nombres,dni,salario from plani_dia; &&Campos a mostrar y origen de datos
order by ape_pater where ; &&Campo para ordenar o indexar
like(nom,lower(ape_pater))into cursor temporal" (aquí sale un mensaje "Command contains unrecognized phrase/keyboard"
this.RowSourceType = 3
this.refresh

Quisiera que me orientes para poder usar este código.

1 Respuesta

Respuesta
1

Ese código va en el INIT del listbox, pero tienes que poner el siguiente código en el Interactivechange del textbox

nom=lower(alltrim(this.value)+"*")
thisform.list1.ColumnCount = 5 &&Cuantas columnas quieras que muestre
thisform.list1.columnwidths = "176,176,177,176,177" &&Los tamaños de las columnas en pixeles
thisform.list1.RowSourceType = 0
thisform.list1.RowSource = "select campo1,campo2,campo3,campo4,campo5 from TABLA; &&Campos a mostrar y tabla de origen de datos
order by ORDEN where ; &&Campo para ordenar
like(nom,lower(Campo1))into cursor temporal" &&Campo desde el que buscará
thisform.list1.RowSourceType = 3
thisform.list1.Refresh
if thisform.list1.listcount=0
messagebox("Dato no encontrado",0+64,"Atención")
Endif

Así insertarás el texto en el textbox y te mostrará el resultado en el listbox... yo puse 5 textbox y desde cualquiera inserto distinto tipo de info, por eso tengo 5 columnas...

Me avisas si aun no puedes y te mando un ejemplo...

Gracias por tu respuesta, pero instale los códigos en el init de Lisbox y en el InteractiveChange del Textbox, se ejecuta el form, aparecen en el listbox las columnas delineadas con sus nombres pero, no aparece ningún registro, te reenvío el código que he utilizado, para que detectes la falla :

nom=lower(alltrim(thisform.Text1.Value)+"*")
thisform.list1.ColumnCount = 6 &&Cuantas columnas quieras que muestre
thisform.list1.columnwidths = "30,100,100,120,70,50" &&Los tamaños de las columnas en pixeles
thisform.list1.RowSourceType = 1
SELECT plani_dia
thisform.list1.RowSource = "select por,ape_pater,ape_mater,nombres,dni, salario from plani_dia; &&Campos a mostrar y tabla de origen de datos
order by ape_pater where ; &&Campo para ordenar
like(nom,lower(ape_pater))into cursor temporal" &&Campo desde el que buscará
thisform.list1.RowSourceType = 1
thisform.list1.Refresh
THISFORM.Refresh

La Tabla plani_dia la abro desde el init del form, y yo trabajo todo con mayúsculas en la Tabla, Gracias por tu ayuda

Pásame tu correo y te mando un ejemplo que funciona, solo lo tienes que modificar a tu gusto...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas