** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Tus Funciones Favoritas & Aportaciones & Artí­culos
  Mensajes nuevos Mensajes nuevos RSS - VBA:Llenado ListBox/ComboBox por codigo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoVBA:Llenado ListBox/ComboBox por codigo

 Responder Responder
Autor
Mensaje
admin Ver desplegable
Administrador
Administrador
Avatar

Unido: 14/Agosto/2013
Localización: Cualquier lugar
Estado: Sin conexión
Puntos: 790
Enlace directo a este mensaje Tema: VBA:Llenado ListBox/ComboBox por codigo
    Enviado: 14/Agosto/2013 a las 08:37
Autor Marius 2004

Los Cuadros de Lista y los Cuadros Combinados pueden ser llenados mediante una funcion definida por el usuario. Para usar esta funcion hay que tener en cuenta las siguientes caracteristicas:

-En la propiedad "Tipo de origen de la fila" escribiremos solo el nombre de la funcion, no se debe incluir el signo "=" ni los parentesis.

-La funcion tendrá 5 argumentos:
NombreFuncion(fld As Control, id As Variant, fila As Variant, col As Variant, cod As Variant) As Variant

Ejemplo: http://www.mvp-access.com/buho/ficheros/ListBox.zip

'Esta funcion carga en un ListBox/ComboBox 2 campos de la tabla "tabla1".

Private Function AWdatosCombo(fld As Control, id As Variant, fila As Variant, col As Variant, cod As Variant) As Variant

  Static rst As DAO.Recordset

  Static fldVAL As Variant

  Select Case cod

    Case acLBInitialize

      'permitimos cargar los datos

      AWdatosCombo = True

      'abrimos el recordset

      Set rst = CurrentDb.OpenRecordset("Tabla1")

      'cargamos la matriz con los valores del recordset

      fldVAL = rst.GetRows(rst.RecordCount)

    Case acLBOpen

      'abrimos y asignamos un id

      AWdatosCombo = Timer

    Case acLBGetRowCount

      'asignamos el numero total de filas

      AWdatosCombo = rst.RecordCount

    Case acLBGetColumnCount

      'asignamos numero de columnas

      AWdatosCombo = 2

    Case acLBGetColumnWidth

      'asignamos ancho de columnas

      AWdatosCombo = -1

    Case acLBGetFormat

      'asignamos formato de la columna

      If col = 0 Then AWdatosCombo = "#,##0"

    Case acLBGetValue

      'llenamos los valores de la lista

      AWdatosCombo = fldVAL(col, fila)

    Case acLBEnd

      'ultima llamada a la funcion

      Set rst = Nothing

  End Select

End Function

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable