Codigos visual basic
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, obviamentemientras 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 propiedadMatchEntry 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 estapropiedad se debe asignar en tiempo de diseño ya que en tiempo de ejecución es de solo lectura.
Controles
* Dos controles ADODC
* Un control DataGrid
* Un Control DataCombo
* Un CommandButton
formulario con los controles
Código fuente en el formulario
Texto planoImprimir
1. Option Explicit
2.
3.
4.' Botón que cambia la propiedad MatchEntry del control DataCombo
5. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
6. Private Sub Command1_Click()
7.
8. 'dblExtendedMatching
9. If DataCombo1.MatchEntry = dblBasicMatching Then
10. DataCombo1.MatchEntry = dblExtendedMatching
11. Command1.Caption = "Extended Matching"
12. Else
13. 'dblBasicMatching 14. DataCombo1.MatchEntry = dblBasicMatching
15. Command1.Caption = "Basic Matching"
16. End If
17. End Sub
18.
19. Private Sub Form_Load()
20.
21. Command1.Caption = "Extended Matching"
22. ' por defecto usa el autocompletar en modo ExtendedMatching
23. DataCombo1.MatchEntry = dblExtendedMatching
24. ' cadena de conexión para los dos controles ADODC
25. Dim ConnectionString As String
26. ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};" & _
27. "Dbq=C:\Archivos de programa\Microsoft Visual Studio\VB98\nwind.mdb;" & "Uid=;Pwd="
28.
29. ' Propiedades del Adodc 1
30. With Adodc1
31. .RecordSource = "SELECT NombreProducto,IdProducto,IdProveedor FROM Productos"
32. .ConnectionString = ConnectionString
33. .Refresh
34. .Visible = False
35. End With
36. ' Propiedades del Adodc 2 ( para el RowSource del dataCombo )
37. With Adodc2
38. .RecordSource = "SELECT NombreCompañía,IdProveedor FROM Proveedores"
39. .ConnectionString = ConnectionString
40. .Refresh
41. .Visible = False
42. End With
43.
44. ' Engancha el DataGrid
45. Set DataGrid1.DataSource = Adodc1
46.
47. ' Propiedades para el DataCombo
48. With DataCombo1
49. Set .DataSource = Adodc1
50. .DataField = "IdProveedor"
51....
Regístrate para leer el documento completo.