Sección de códigos , trucos y ejemplos para visual basic


348 - Autocompletar en DataCombo al escribir

<Volver> - Anterior - Siguiente



 

 

Contenido

 

 

 

 

 


Descripción

En esta página hay dos ejemplos para poder autocompletar mientras se escribe en un control DataCombo

El primer Código lo hace utilizando la propiedad MatchEntry del DataCombo para poder autocompletar mientras se escribe en el control. El segundo código fuente, lo hace buscando con la propiedad Find del recordset, y seleccionando y autocompletando en caso de coincidencias

 


1 - Autocompletar usando la propiedad MatchEntry

Esta propiedad tiene dos valores posibles ( dblBasicMatching y dblExtendedMatching).

La primera, al tipear sobre el DataCombo, se autocompletará por la primer letra presionada, por lo tanto si se vuelve a presionar otra tecla seguida, la ignorará en la búsqueda de elementos de la lista. La segunda permite seguir autocompletando al tipear, obviamente mientras haya coincidencias con lo que se tipea

El siguiente ejemplo, que utiliza la base de datos nwind.mdb instalada en el directorio de visual basic, carga en el control DataCombo el campo "NombreCompañía" de la tabla proveedores.

En dicho campo, por poner un ejemplo, hay dos nombres de compañias que comienzan con la letra "P" ( Pavlota LTD.) y ( Pasta Butini SRL).

Si la propiedad MatchEntry del DataCombo está en Extendida (dblExtendedMatching ) , y al presionar la letra "p", y luego la "a", se autocompletará con el nombre de la compañia "Pavlota LTD." mostrando dicho valor.

Pero si luego presionamos la letra "s", se aucompletará con "Pasta Butini SRL"

Para poder utilizar este ejemplo, el control DataCombo debe tener la propiedad Style con el valor (2 - dbcDropDownList ) y esta propiedad se debe asignar en tiempo de diseño ya que en tiempo de ejecución es de solo lectura.

 

Controles

 

formulario con los controles

vista del formulario para poder usar el control datacombo y poder autocompletar al escribir

 

 

Código fuente en el formulario

 


2 - Autompletar buscando en el recordset

Este otro ejemplo es muy diferente al anterior, ya que al momento de tipear, se busca en el recordset ( Método Find ) a medida que se escribe, y se selecciona y autocompleta la palabra con las propiedad SelStart y SelLenght del DataCombo entre otras

Formulario

vista del formulario del ejemplo 2 con los controles a usar

 

El código fuente utiliza un simple módulo de clase.

Este módulo tiene dos métodos. Uno llamado Init y otro Autocompletar.

El primero permite indicar el control DataCombo y el recordset que utiliza el mismo y es el primero que se debe ejecutar . Por ejemplo

ObjClase.Init DataCombo1, Adodc2.Recordset

 

El otro método, se debe ejecutar en el evento KeyPress, enviándole como parámetro el código Ascii para que la función se encargue de Autocompletar

Private Sub DataCombo1_KeyPress(KeyAscii As Integer)
   Dim Encontrado As Boolean
   
   Encontrado = ObjClase.Autocompletar(KeyAscii)
   
End Sub 

 

Agregar al formulario los siguientes controles

  1. Un control DataCombo ( DataCombo1 )
  2. Un control DataGrid ( DataGrid1 )
  3. Dos controles de Ado ( Adodc1 y Adodc2 )
  4. Un módulo de clase ( Class1 )

Nota: En este caso se utiliza la base de datos Nwind instalada en el Dir de vb6

Código fuente en el formulario

Código fuente del módulo de clase ( Class1 )

 


Recursos vb 6.0 - Enlaces relacionados



Buscar en Recursos vb