Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Ampliar las propiedades de cualquier control facilmente.
- 'Cargar múltiples registros de base de datos en un combobox, con todos sus campos.
- 'Imaginemos que tenemos una
- 'base de datos: escuelanormal
- 'Con una tabla: alumnos
- 'con los siguientes campos:
- 'id, apellido, nombres, documento, domicilio, telefono, mail
- 'Y que queremos poner todo esto en un combobox de manera tal que al seleccionar uno de los alumnos
- 'nos muestre todos sus datos, sin volver a recurrir a la base de datos, select o find mediante...
- 'En el procedimiento de carga del formulario, efectuan un select sobre su base de datos, e
- 'implementan lo siguiente:
- 'En nuestro caso lo haremos directamente para que observen su funcionamiento
- '
- 'Agregar al proyecto un combobox con el nombre: comboboxbase
- 'Agregar un label con el nombre label1,
- Option Explicit
- 'Utilizamos un tipo definido y ampliamos las propiedades del control combobox
- 'Campos: id, apellidoynombres, documento, domicilio, telefono, mail
- Private Type ComboboxElinv
- ComboBoxampliado As ComboBox
- id() As String
- 'apellidoynombres no lo agregamos, dado que aqui usamos la propiedad AddItem
- documento() As String
- domicilio() As String
- telefono() As String
- mail() As String
- End Type
- 'definimos las nuevas propiedades de nuestro control
- Private Elinv As ComboboxElinv
- Private Sub Form_Load()
- Set Elinv.ComboBoxampliado = comboboxbase
- 'Con nuestra función agregamos la info contenida en nuestra base de datos.
- agregarpropiedadalcombobox "1", "Elinv", "22.222.222", "C/ Quiroga n° 744. Bragado", "02342-555-555", "elinv.elinv@gmail.com"
- agregarpropiedadalcombobox "2", "Enrique García", "33.333.333", "C/ San Martín n° 1244. Bragado", "02342-666-666", "enriquegarcia@gmail.com"
- agregarpropiedadalcombobox "3", "Perico Pérez", "44.444.444", "C/ Pellegrini n° 424. Bragado", "02342-777-777", "pericoperez@gmail.com"
- 'Nos posicionamos en el primer item
- Elinv.ComboBoxampliado.ListIndex = 0
- 'Seteamos ancho y alto del label receptor de la información.
- Label1.Height = 2175
- Label1.Width = 4815
- End Sub
- 'Campos: id, apellidoynombres, documento, domicilio, telefono, mail
- Private Sub agregarpropiedadalcombobox(id As String, apellidoynombres As Variant, _
- documento As String, domicilio As String, _
- telefono As String, mails As String)
- 'Aquí procedemos en nuestro combobox
- With comboboxbase
- .AddItem apellidoynombres
- 'Agregamos el id
- ReDim Preserve Elinv.id(0 To .NewIndex)
- Elinv.id(.NewIndex) = id
- 'Agregamos el documento
- ReDim Preserve Elinv.documento(0 To .NewIndex)
- Elinv.documento(.NewIndex) = documento
- 'Agregamos el domicilio
- ReDim Preserve Elinv.domicilio(0 To .NewIndex)
- Elinv.domicilio(.NewIndex) = domicilio
- 'Agregamos el telefono
- ReDim Preserve Elinv.telefono(0 To .NewIndex)
- Elinv.telefono(.NewIndex) = telefono
- 'Agregamos el mails
- ReDim Preserve Elinv.mail(0 To .NewIndex)
- Elinv.mail(.NewIndex) = mails
- End With
- End Sub
- Private Sub comboboxbase_Click()
- Label1.Caption = "Alumno : " & Elinv.ComboBoxampliado.Text & vbCrLf _
- & "Id : " & Elinv.id(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
- & "documento : " & Elinv.documento(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
- & "domicilio : " & Elinv.domicilio(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
- & "telefono : " & Elinv.telefono(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
- & "mails : " & Elinv.mail(Elinv.ComboBoxampliado.ListIndex)
- End Sub
Add Comment
Please, Sign In to add comment