Sección de controles Ocx para Visual basic , Dll , Activex
<Volver> - Anterior - Siguiente
Esta dll , que utiliza la referencia a Ado y un MsHFlexGrid, se asocia a un control textBox o combo, para poder desplegar junto a este, un grid con los datos de una base de datos y poder obtener el valor seleccionado para asignarlo por ejemplo a otros controles o realizar otras acciones.
Por ejemplo , como se ve en esta imagen , en el que se despliega junto a un Text1, cuando el Text recibe el foco o se presiona una tecla de acceso, en este caso F9

En este otro caso, se despliega junto al text2 al presionar el commandbutton que está al costado
El grid ( en la parte inferior ) también tiene un caja de texto para poder filtrar los datos en la grilla tomando en cuenta el primer campo
Para poder usar la Dll y conectarla a una base de datos para traer el conjunto de registros, se le debe indicar los siguientes datos
Por ejemplo :
Private Sub Form_Load()
Dim PathBd As String
' ruta a la base de datos
PathBd = "C:\Archivos de programa\" & _
"Microsoft Visual Studio\VB98\biblio.mdb"
' nueva instancia de la dll ( clase ListOfValues )
Set GridDesplegable = New ListOfValues
' cadena de conexión a usar
GridDesplegable.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & PathBd _
& ";Persist Security Info=False"
End Sub
Luego, por ejemplo para desplegarla junto a un combo , se debe indicar el Recordsource y luego llamar al método OpenList indicándole el control enlazado como parámetro
GridDesplegable.RecordSource = "Select * From Una Tabla"
' despliega el grid, pasándole como parámetro el control asociado
Call GridDesplegable.OpenList(Combo1)
Para poder capturar los datos, tiene dos eventos : AfterListClose y BeforeListOpen. El primer ocurre luego de seleccionar el valor de la grilla, el segundo antes de que se despliegue
Por ejemplo para capturar los datos en el evento AfterListClose
Private Sub GridDesplegable_AfterListClose(BuddyControl As Object, _
Results As Collection)
' Verifica si no hubo error ...
If GridDesplegable.IsSuccess Then
' selecciona el control enlazado ya que puede haber varios
Select Case BuddyControl.Name
Case Text1.Name
' Muestra los valores, indicando el campo
MsgBox Results("Campo1")
MsgBox Results("Campo2")
End Select
End If
End Sub
Nota : registrar la dll en el sistema con el comando Regsvr32
Autor : Abdul Gafur
Descargar código fuente de la Dll
Buscar en Recursos vb con Google
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar