Access Valor de un combo en un cuadro de texto

En un formulario se guardan datos en una tabla, y uno de los datos se guarda a través de un combo, o sea por ejemplo se guarda el id con el nombre.

Ahora como se podría mostrar, en otro formulario (continuo), ese dato del combo (solo en nombre, ¿no el id) en un cuadro de texto? El formulario tiene como origen a la tabla donde están esos datos...

Lo hago, pero agregando un campo más a la tabla y extrayendolo en el momento de guardarlo. Quisiera saber si hay algún código en "el generador de expresiones" o algo para hacerlo tomarlo directamente del campo combo.

Pd: tiene que ser en un cuadro de texto porque tiene un código que no anda muy bien en un combo..

2 respuestas

Respuesta
1

Si la columna dependiente del combinado es la del Id, y en la "segunda" columna está el nombre, en el origen de control de ese cuadro de texto puedes poner

TextA=nombredelcombo.column(1)

En caso de que el combo sólo tenga la columna dependiente y ésta sea la del Id, en algún evento podrías poner

TextA=dlookup("nombrecliente","clientes","idcliente=" & me.nombrecombo & "")

Pero lo mejor de todo sería que pusieras unas imágenes del formulario y del formulario continuo.

Perdón.. ese seria el formulario donde tendría que aparecer el nombre de la empresa por ejemplo pero aparece el id...

Paso esto porque se modifico tablas que estaban mal diseñadas por otros usuarios y empiezan a saltar estos problemitas.

En la imagen del formulario continuo se ve el campo empresa y el campo proveedor.Los dos son campos de texto como se puede ver... En el campo Empresa se ve a la empresa identificada por el numero 2, que seria el ID que se toma de la tabla guardada y esos dos campos en la tabla son combos. Ahora en el campo proveedor, es el mismo caso pero el valorse toma de un campo agregado en la tabla para guardar el nombre así no aparece el id.

Todo seria para no crear campos con info repetida, achicar un poco las tablas... ser más prolijo en definitiva...

Si el control Empresa es un combo, basta con que en sus propiedades-Datos-Origen de la fila le pongas algo como

Select Idempresa,nombreempresa from Empresas group by idempresa,empresa;

Y también en sus propiedades-formato- Numero de columnas ponle 2 y en Ancho de las columnas ponle

0;6

Así, aunque la columna dependiente sea la del Id, la que mostrará será la del nombre.

Respuesta
1

Un combo puede tener más de una columna y solo guarda uno de sus valores, el de la línea que este seleccionada de su 'columna dependente', el resto de los datos no se guardan en la tabla.

Los combos solo interactúan con su 'columna dependiente', el resto de los datos solo le acompañan.

Propiedades del Combo -- pestaña Datos

Si un combo tiene tres colunas ID + Nombre + Domicilio (en este orden) se cumpliría:

Se guarda ID, si la columna dependiente es la numero 1
Se guarda Nombre, si la columna dependiente es la numero 2
Se guarda Domicilio, si la columna dependiente es la numero 3

El dato se guarda en el campo (del origen de datos del formulario) que se le indique en su propiedad 'Origen del control' si en esa propiedad no hay nada, el combo es un 'objeto independiente que no está asociado al formulario (a sus datos)

Propiedades del Combo -- Pestaña Formato

Solo tendrá el número de columnas que se indique en su pestaña 'numero de columnas'.
Si en ancho de columnas se ponen valores de ancho (para cada una de ellas) tenemos que:
0 cm;1cm; 0 cm==>  se visualiza el nombre (columna 2)
0 cm; 1cm; 2 cm==>  se visualiza el nombre (columna 2) y domicilio (columna 3)

Al contraerse se visualiza solo la primera columna (que no tenga ancho = 0) al expandirse mostrara las columnas que tengan un ancho diferente de cero.

Se puede hacer referencia a cualquiera de sus colunas si esta accesible su propiedad

Column(NN), (en VBA siempre esta disponible).

Los combos devuelven por defecto el valor de la columna dependiente de la línea seleccionada (el resto son simples compañeros de viaje).

El comentario sobre el tipo de dato o el uso con un subformulario no lo veo claro dado que el origen de datos de un combo puede ser una 'lista de valores' o una tabla/consulta y dependiendo de ello se puede comportar de forma diferente, en principio admite valores numéricos y alfanuméricos (lo que admita el destino no le incumbe al Combo).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas