Guest User

Untitled

a guest
May 20th, 2018
558
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'Ampliar las propiedades de cualquier control facilmente.
  2. 'Cargar múltiples registros de base de datos en un combobox, con todos sus campos.
  3.  
  4. 'Imaginemos que tenemos una
  5. 'base de datos: escuelanormal
  6. 'Con una tabla: alumnos
  7. 'con los siguientes campos:
  8. 'id, apellido, nombres, documento, domicilio, telefono, mail
  9.  
  10. 'Y que queremos poner todo esto en un combobox de manera tal que al seleccionar uno de los alumnos
  11. 'nos muestre todos sus datos, sin volver a recurrir a la base de datos, select o find mediante...
  12.  
  13. 'En el procedimiento de carga del formulario, efectuan un select sobre su base de datos, e
  14. 'implementan lo siguiente:
  15.  
  16. 'En nuestro caso lo haremos directamente para que observen su funcionamiento
  17. '
  18.  
  19. 'Agregar al proyecto un combobox con el nombre: comboboxbase
  20. 'Agregar un label con el nombre label1,
  21. Option Explicit
  22.  
  23. 'Utilizamos un tipo definido y ampliamos las propiedades del control combobox
  24. 'Campos: id, apellidoynombres, documento, domicilio, telefono, mail
  25. Private Type ComboboxElinv
  26.     ComboBoxampliado As ComboBox
  27.     id() As String
  28.     'apellidoynombres no lo agregamos, dado que aqui usamos la propiedad AddItem
  29.    documento() As String
  30.     domicilio() As String
  31.     telefono() As String
  32.     mail() As String
  33. End Type
  34.  
  35. 'definimos las nuevas propiedades de nuestro control
  36. Private Elinv As ComboboxElinv
  37.  
  38. Private Sub Form_Load()
  39.     Set Elinv.ComboBoxampliado = comboboxbase
  40.     'Con nuestra función agregamos la info contenida en nuestra base de datos.
  41.    agregarpropiedadalcombobox "1", "Elinv", "22.222.222", "C/ Quiroga n° 744. Bragado", "02342-555-555", "elinv.elinv@gmail.com"
  42.     agregarpropiedadalcombobox "2", "Enrique García", "33.333.333", "C/ San Martín n° 1244. Bragado", "02342-666-666", "enriquegarcia@gmail.com"
  43.     agregarpropiedadalcombobox "3", "Perico Pérez", "44.444.444", "C/ Pellegrini n° 424. Bragado", "02342-777-777", "pericoperez@gmail.com"
  44.     'Nos posicionamos en el primer item
  45.    Elinv.ComboBoxampliado.ListIndex = 0
  46.     'Seteamos ancho y alto del label receptor de la información.
  47.    Label1.Height = 2175
  48.     Label1.Width = 4815
  49. End Sub
  50.  
  51. 'Campos: id, apellidoynombres, documento, domicilio, telefono, mail
  52. Private Sub agregarpropiedadalcombobox(id As String, apellidoynombres As Variant, _
  53.                                        documento As String, domicilio As String, _
  54.                                        telefono As String, mails As String)
  55.  
  56. 'Aquí procedemos en nuestro combobox
  57. With comboboxbase
  58.     .AddItem apellidoynombres
  59.     'Agregamos el id
  60.    ReDim Preserve Elinv.id(0 To .NewIndex)
  61.     Elinv.id(.NewIndex) = id
  62.     'Agregamos el documento
  63.    ReDim Preserve Elinv.documento(0 To .NewIndex)
  64.     Elinv.documento(.NewIndex) = documento
  65.     'Agregamos el domicilio
  66.    ReDim Preserve Elinv.domicilio(0 To .NewIndex)
  67.     Elinv.domicilio(.NewIndex) = domicilio
  68.     'Agregamos el telefono
  69.    ReDim Preserve Elinv.telefono(0 To .NewIndex)
  70.     Elinv.telefono(.NewIndex) = telefono
  71.     'Agregamos el mails
  72.    ReDim Preserve Elinv.mail(0 To .NewIndex)
  73.     Elinv.mail(.NewIndex) = mails
  74. End With
  75. End Sub
  76.  
  77. Private Sub comboboxbase_Click()
  78. Label1.Caption = "Alumno    : " & Elinv.ComboBoxampliado.Text & vbCrLf _
  79.                & "Id        : " & Elinv.id(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
  80.                & "documento : " & Elinv.documento(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
  81.                & "domicilio : " & Elinv.domicilio(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
  82.                & "telefono  : " & Elinv.telefono(Elinv.ComboBoxampliado.ListIndex) & vbCrLf _
  83.                & "mails     : " & Elinv.mail(Elinv.ComboBoxampliado.ListIndex)
  84. End Sub
Add Comment
Please, Sign In to add comment