Campo de texto que muestra registro ingresado en un combobox en access

A ver si pueden ayudarme con este problema.

Tengo una tabla llamada Datos y un formulario que carga los datos en la tabla.

Este formulario, tiene un combox que toma los datos de otra tabla que se llama OS.

Cree otro formulario dónde buscando un determinado registro de la tabla Datos, me debe traer algunos campos, entre ellos el campo ingresado por el combobox.

Lo que yo quiero es que este registro aparezca en un campo texto y que no se pueda modificar, ya que cuando genero el formulario y le asocio el campo texto al campo del combobox no me lo muestra.

En cambio si este campo en el segundo formulario es un combobox, sí lo muestra, pero me muestra todos los registros y yo quiero que sólo me muestre el registro que estoy buscando.

Espero se pueda hacer y obtenga alguna ayuda de ustedes.

1 respuesta

Respuesta
1

Si no te explicas más claramente lamento decirte que no entiendo nada de tu consulta. :(

Hola neckkito:

Ante todo, gracias por tu respuesta. Paso a explicarte con detalle mi problema a ver si logro explicarme para que puedas comprenderme y ayudarme:

Tengo tres tablas: 

Tabla 1: OS/EMP con tres columnas ID, RNOS y Nombre

Tabla 2: DATOS con varias columnas pero dos columnas que almacenan los campos RNOS y Nombre en dos columnas con dicho nombre.

Tabla 3: RESPUESTA con dos columnas que almacenan también los mismos campos RNOS y Nombre, pero que ahora debe tomarlos de lo almacenado de la tabla DATOS.

La tabla Datos, toma de un ComboBox datos de la tabla OS/EMP que son fijos y que no se pueden modificar en el campo RNOS y lo graba en una columna de esta tabla con el mismo nombre RNOS.

La tabla Respuesta, toma los datos en un ComboBox de la columna RNOS de la tabla Datos.

Hasta ahí no hay inconvenientes, ya que los datos del segundo ComboBox los lee, pero en vez de mostrarme el listado de datos que debo ver, me muestra el listado de ID.

Es decir

1) Tengo la tabla OS/EMP con un campo RNOS y un campo ID.

2) Estos son mostrados en un formulario con un ComboBox, pero solo los valores de la columna RNOS.

3) Al ingresar un registro toma el valor del ComboBox de la tabla OS/EMP y lo almacena en la columna RNOS de la tabla DATOS.

4) Luego debo ingresar valores en la tabla RESULTADOS y que deben tomarse de la tabla DATOS, siendo el mismo campo RNOS, pero ahora el almacenado y no todo el listado.

El problema es entonces que me muestra todo el listado, como si lo estuviera mostrando desde la tabla OS/EMP, cuando necesito que solo me muestre los almacenados en la tabla DATOS y en vez de mostrarme los valores me muestra la columna ID.

Espero haberme explicado con más detalle.

Muchas gracias y espero puedas ayudarme.

Necesito que me digas, de ese combo que te muestra sólo las ID, lo siguiente de sus propiedades:
- Pestaña Datos -> Origen de la fila: necesito que me copies el SELECT que ahí te aparecerá.
- Pestaña Formato -> Número de columnas: necesito saber qué valor te muestra ahí

- Pestaña Formato -> Ancho de columnas: necesito saber si te muestra algún valor, y si te lo muestra qué valor te sale.

Gracias por tu rápida respuesta. Van los datos:

Origen del control: RNOS/RNEMP de la tabla Datos

Número de columnas: En el formulario solo me debe mostrar el registro, no es un ComboBox sino un campo Texto.

Ancho de columnas: Ídem al anterior.

Hay algo de lo que me estás comentando que no tiene mucho sentido para mí. El origen del control no puede ser una tabla, sino que debe ser un campo. Y ese campo va en función del origen de datos del formulario. Creo que lo mejor será que o bien prepares una miniBD con los elementos implicados y me la pases, o bien que me pases una copia de tu BD (comprimida en zip o rar, por favor). Puedes borrar los registros, pero déjame algunos, aunque sean inventados, para ver cómo lo tienes estructurado. Mi correo es [email protected].

Lo que te ocurre es que la tabla DatosSindicatura, a pesar de que tú veas el valor RNOS/RNEMP, te está almacenando realmente el Id. Al cambiar el cuadro combinado por un cuadro de texto te muestra el valor almacenado, que es ese Id, dado que es el único que tiene (lo cual es diferente del que tú puedas ver en la tabla).

Para arreglarlo tienes dos maneras: o te creas una consulta estableciendo las relaciones y de ahí pasando al grid de la consulta lo que realmente quieres ver, lo que te obligaría a cambiar el origen del formulario SindicaturaPorOs, o bien manipular directamente el formulario.

En tu caso la opción más "rápida y sencilla" es manipular directamente el formulario. Para ello lo que tienes que hacer sobre SindicaturaPorOs es lo siguiente:

- Créate un cuadro de texto independiente. Lo tienes que situar donde ahora está el campo [RNOS/RNEMP]

- El campo [RNOS/RNEMP] lo sitúas en algún rincón del formulario donde no te moleste (no se va a ver). Sacas sus propiedades y Pestaña Formato -> Visible: NO

- Tendrás que volver a crear la etiqueta para "RNOS/RNEMP".

- Vuelve al cuadro independiente y en sus propiedades -> Datos -> Origen del control escribes lo siguiente:

=DBúsq("[RNOS/RNEMP]";"[OS/EMP]";"[Id]=" & [RNOS/RNEMP])

Y listos.

De todas maneras te dejo creada la consulta CIDRNOS para que veas cómo se haría según el primer sistema que te comentaba (sólo te añado los campos principales en esa consulta). Y sobre esa consulta te dejo creado (a lo rápido) el formulario FIDRNOS para que puedas ver el resultado.

Muchas gracias Nicckito, fue EXCELENTE tu respuesta.

Soy una usuaria arriesgada, no por conocimiento, digamos que autodidacta, pero me gusta y me ayudaste mucho a solucionar el problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas