Access 2013 Cuadros combinados almacenan números

Tengo una bd en Access 2013 con 3 tablas: Asignaturas, estudios y General.

Asignaturas:

- IdASignaturas (clave)

- Asignaturas

- IdEstudio (busqueda en IdEstudio/TableEstudios)

Estudios:

- IdEstudio

- Estudio (lista de estudios)

General:

Tabla donde se vuelca la elección de los cuadros combinados de Asignaturas y Estudios.

La cuestión es que, tras elegir la listad desplegable el estudio, elegir luego las asignaturas correspondientes a ese estudio, y guardar en el formulario. El resultado se vuelca en la Tabla General, pero no consigo que se vuelque el texto, se vuelca la numeración.

Os dejo un enlace a la Base de datos: https://drive.google.com/file/d/0ByPmwjExcLCOTkdHUElOQk5CVlU/edit?usp=sharing 

1 respuesta

Respuesta
1

Sin ver tu BD (no tengo access 2013 en este momento) el comportamiento que describes es el lógico desde el punto de vista de las relaciones y la eficiencia de la BD.

Ten en cuenta que un campo numérico (los Ids) ocupa menos memoria que uno de texto (Estudio, Asignatura...)

Si necesitas mostrar en un formulario, informe... el nombre del estudio o asignatura, lo normal es que te crees una consulta con las tablas relacionadas, y cojas los campos que necesites de una y otra, que en tu caso no serán los campos numéricos de la tabla general, sino los campos Asignaturas de la tabla Asignaturas y Estudio de la tabla Estudios.

De todos modos, si quieres guardar los nombres, lo que debes hacer es modificar el tipo de datos de los campos en la tabla general, de número a texto, y en la pestaña Búsqueda, decirle que la columna dependiente es la 2 (la 1 es el ID, que será el valor que tengas ahora mismo)

En al imagen, el campo raza es un cuadro combinado que coge sus valores de una tabla (tblRazas) con los campos IDRaza (autonumérico) y Raza (Texto). Fíjate el tipo de origen de la fila es Tabla/Consulta y el Origen de la Fila es una sentencia SQL que coge los dos campos de la tabla. La columna dependiente es la 1 (en este caso el IDRaza).

Muchísimas gracias, una maravilla! Solo una duda más para finalizar,

He conseguido que me vuelque la información en texto, perfecto, pero ahora cuando añado la relación/criterio para que aparezcan las asignaturas únicamente del estudio elegido (una cascada) , no lo consigo tal como lo hacía al principio:

Añado el criterio en el Origen de Fila del CuadroC "Asignatura" que del formulario General dependa del Cuadro Combinado "Estudio" para mostrar los datos.

Y como se observa no aparecen las asignaturas, únicamente la inicial.

¿puede que tenga que ver con haber cambiado el tipo de datos de Número a Texto , o las columnas dependientes?

Muchísimas gracias nuevamenteeeeeeeee

Claro, ahora no puedes poner esa condición, porque IdEstudio es un número, y el valor que te devuelve el cuadro combinado es un texto.

Las dos únicas soluciones que le veo son:

Crear una nueva consulta en la que te aparezca el campo Estudio y a él le pongas el criterio,

O Modificar el diseño de la tabla asignaturas para que en vez de IDEstudio guarde el Estudio, es decir, que guarde el nombre en vez del ID.

Pero en mi opinión, la forma correcta de hacer las cosas es como la tenías originalmente.

No sé si es lo correcto, la verdad, pero me ha funionado estupendamente, por si alguien le sirve de algo aquí está la captura, he insertado la consulta del estudio con el criterio para evitar lo que comentabas de que me devolviera texto:

Esta es la primera opción que te decía. :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas