Sección de controles Ocx para Visual basic , Dll , Activex

176 - Dll Activex - Grid desplegable

<Volver> - Anterior - Siguiente



 

Dll que permite desplegar una grilla junto a un control asociado, para poder seleccionar un valor de la misma

 

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

  1. La cadena de conexión a utilizar ( propiedad ConnectionString )
  2. EL comand Sql o la tabla ( propiedad recordsource)
  3. La dll debe estar declarada con Withevents para poder disparar los eventos que permiten obtener y consultar los 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 Dll ListOfValues

Descargar código fuente de la Dll

 


Recursos visual basic 6.0

Recursos visual basic.net

 

 


Buscar en Recursos vb con Google