¿Cómo puedo hacer que los cuadros combinados de clave externa sean fáciles de usar en un formulario de Access?

StackOverflow https://stackoverflow.com/questions/153035

  •  03-07-2019
  •  | 
  •  

Pregunta

Tengo dos tablas:

Employees:
uid (number) | first_name (string) | last_name (string) | ...

Projects:
uid | project_title (string) | point_of_contact_id (FK: Employees.uid) | ...

Me gustaría crear un formulario para Proyectos con un " Punto de contacto " cuadro de cuadro combinado (desplegable). Los valores de visualización deben ser " nombre_no. Last_name " Pero los datos de respaldo es el UID. ¿Cómo configuro el formulario para mostrar una cosa al usuario y guardar otra cosa en la tabla?

Estaría bien con solo poder mostrar un campo (solo " nombre_nombre " por ejemplo), ya que puedo crear una vista con un campo de nombre completo.

Later:

Si hay una manera de hacer esto en el nivel de diseño de la tabla, preferiría que, ya que entonces solo tendría que establecer una configuración por columna de UID (y hay muchas tablas), en lugar de una configuración por campo UID (y hay muchas formas, cada una con varios campos UID).

¿Fue útil?

Solución

Para ampliar la respuesta de Loesje, use la propiedad Columna unida junto con el Número de columnas y Ancho de columnas cuando muestre varios campos para poder decirle a Access cuál debe escribirse en la base de datos. (Hay otras formas de hacerlo utilizando VBA, pero esto debería funcionar para su caso particular).

En su caso, configurar la Fuente de la fila en seleccionar uid, first_name, last_name from tablename significa que su Columna enlazada debe ser 1, para la primera columna en su Fuente de la fila (uid). Este es el valor predeterminado, por lo que solo tendría que cambiarlo si desea guardar un valor de un campo diferente. (Por ejemplo, si desea guardar el último nombre de la fuente de la fila anterior, debe establecer la columna enlazada en 3).

No olvide que cuando establece los anchos de las otras columnas que está mostrando, la propiedad Ancho del cuadro combinado debe ser mayor o igual que la suma de los anchos de columna, de lo contrario no podrá ver todas las columnas.

No hay una manera de indicar en el nivel de la tabla que un formulario basado en esa tabla deba extraer columnas particulares, o que una columna particular sea la clave externa, pero puede copiar un cuadro combinado a otros formularios y Llevará todas sus propiedades con él. También puede copiar la consulta de la fuente de la fila y pegarla en otros cuadros combinados si eso le ayuda.

Otros consejos

Establezca el origen de las filas del menú desplegable en " seleccione uid, first_name, lastname from tablename 'y establezca el ancho de columna en 0. De esta manera, el ancho de la primera columna se establece en cero, para que el usuario no lo vea. (Puede proporcionar el ancho de las otras columnas separándolas con un punto y coma, es decir: 0 cm; 4 cm; 4 cm)

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