Pregunta

Creé un formulario de Access 2007 que muestra, por ejemplo, Productos de una tabla de Productos.Uno de los campos de la tabla Producto es un ID de categoría que corresponde a la categoría principal de este producto.

En el formulario, el ID de categoría debe representarse como un cuadro combinado vinculado a la tabla Categoría.La idea aquí es bastante sencilla:Al seleccionar una nueva categoría se debe actualizar el ID de categoría en la tabla Producto.

El problema con el que me encuentro es que al seleccionar una nueva categoría se actualiza el nombre de categoría de la tabla de categorías en lugar de actualizar el ID de categoría en la tabla de productos.La razón de esto es que parece que el cuadro combinado debe estar vinculado únicamente al Nombre de categoría de la tabla Categoría.

Lo que sucede es que si el producto actual tiene un ID de categoría de 12, que es el nombre de categoría "Sillas" en la tabla de categorías, al seleccionar un nuevo valor, digamos "Tablas" (ID de categoría 13) en el cuadro combinado, se actualiza el ID de categoría de 12 con el nuevo CategoryName "Tablas" en lugar de actualizar la tabla de productos CategoryID a 13.

¿Cómo puedo vincular la tabla Categoría a un cuadro combinado para que el campo de texto de datos (que desearía que existiera en Access) sea el Nombre de categoría y el campo de valor de datos sea el ID de categoría y solo se actualice el ID de categoría del Producto cuando se cambie el elemento del cuadro combinado seleccionado? ?

Editar: Vea la respuesta aceptada a continuación.También necesitaba cambiar el recuento de columnas a 2 y todo empezó a funcionar perfectamente.

¿Fue útil?

Solución

Debe utilizar ambos valores en la consulta del cuadro combinado.
p.ej.SELECCIONE Id. De categoría, Nombre de categoría DE Tabla de categorías...Vincule el cuadro combinado a la primera columna, CategoryId.Establezca el ancho de columna para el cuadro combinado en 0 pulgadas (no es necesario un segundo valor, por lo que no hay límite).Esto ocultará la primera columna que contiene el valor seleccionado;todo eso muestra el valor de descripción, que es todo lo que quieres ver.Entonces, ahora, cuando seleccione una opción diferente en el cuadro combinado, el valor devuelto por el cuadro combinado será el valor enlazado, CategoryId, no CategoryName.

Ah, sí Alison, lo siento, me olvidé de configurar el recuento de columnas del cuadro combinado = 2.

Otros consejos

También debe verificar que su tabla de categorías tenga una clave principal en el campo Nombre de categoría.Su configuración original debería haber arrojado un error o mensaje que dijera que la actualización violaría la clave.Tal como están las cosas, parece que puedes tener 2 categorías con el mismo nombre.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top