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