VBA Access: Establecer valores para 2 columnas en un combobox

Espero que en este foro no me traten como si preguntara tonteras como ha sucedido en otros: espero entiendan que soy totalmente amateur y no he tomado jamás un curso de programación ni nada.
En mi base de datos necesito establecer ciertos valores en un combobox obteniendo o cargando valores específicos. Es de libros y se refiere a los préstamos realizados.
Los valores serían:

0 "Abierta."
1 "Completada."
2 "Suspendida."
3 "Cancelada."

Y el valor numérico debe ser el que se refiere para el filtro (o se almacena como valor del campo) y el texto encomillado el que se mostrará al usuario.
Así pues, el número permanecerá oculto pero el combobox deberá adoptar este valor pues los registros están almacenados con ese valor numérico.
No he logrado encontrar la información para poder hacerlo por mi cuenta y, obviamente, no tengo el conocimiento suficiente. Me gustaría saber cómo se hace según dos formas que yo podría manejar para este y otros casos:

  1. Asignando manualmente los valores.
  2. Obteniéndolos desde una tabla (2 campos).
  3. Obteniéndolos desde una tabla campo 1 y asignando manualmente el segundo valor (si es posible).

1 Respuesta

Respuesta
1

Necesitas crearte un combo con dos columnas, la primera con longitud 0 -> así no la ve el usuario, y como columna dependiente la 0 (en realidad es la primera, ya que la cuenta empieza desde cero).

Asignar manualmente los valores, lo primero le tienes que decir que el tipo origen de la fila es lista de valores :

1.- Método additem (mejor mira los ejemplos de la propia ayuda de access que son muy claros)

2.- A capón por código:

Me.Combo1.RowSource = "0;Valor cero;1;Valor uno"

Asignarlos por tabla, asigna tipo origen de la lista Tabla/Consulta:

1.- Usa el generador de expresiones del campo Origen de la fila

2.- Por código:

Me.Combo1.RowSource = "SELECT IdEmpleado, Apellidos FROM Empleados"

Asignarlos desde tabla y manualmente a la vez, se puede pero es muy complicado, mejor no te líes.

Por cierto, te recomendaría este curso, es muy bueno y simple, cuando lo termines que no te costará mucho verás cuanto habrás avanzado:

Curso VBA Eduardo Olaz en www.mvp-access.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas