2009-10-01 11 views
6

TableViewAyuda con el diseño de consulta en MS-Access

CredTypeID es un número del CredType es el tipo de credencial

necesito la consulta para mostrar la credencial de una lista desplegable para que pueda cambiar la credencial seleccionando uno nuevo.

Actualmente tengo que saber el número de CredTypeID para cambiar la credencial.

Solo quiero seleccionarlo de una lista desplegable.

Actualmente, para cambiar a Betty Smith a una RN tengo que escribir "3" en CredTypeID. Solo quiero poder seleccionar "RN" de una lista desplegable.

Aquí es el diseño de la mesa y la vista SQL (de acceso)

TableLayout

SELECT Lawson_Employees.LawsonID, Lawson_Employees.LastName, 
     Lawson_Employees.FirstName, Lawson_DeptInfo.DisplayName, 
     Lawson_Employees.CredTypeID, tblCredTypes.CredType 
    FROM (Lawson_Employees 
     INNER JOIN Lawson_DeptInfo 
      ON Lawson_Employees.AccCode = Lawson_DeptInfo.AccCode) 
     INNER JOIN tblCredTypes 
      ON Lawson_Employees.CredTypeID = tblCredTypes.CredTypeID; 
+3

No puedo ver esas capturas de pantalla que son tan pequeñas. – JonH

+0

jaja, sí, finalmente descubrí cómo cambiar el tamaño de la imagen incrustada de Picasa.No hacen que sea fácil incrustar imágenes, te dan todo el HTML, por supuesto, que probablemente sea más fácil para algunas personas, pero no cuando estás publicando aquí –

+1

Probablemente debería haber mencionado que las tablas con el prefijo "Lawson_" en realidad son enlaces a tablas en una base de datos de SQL Server 2005. No estoy seguro si hará la diferencia o no ... pero estoy de vacaciones y no se supone que deba estar trabajando en esto. – AnonJr

Respuesta

4

Esto debería ser el truco, funcionará en la vista de hoja de datos y configurará automáticamente el campo como el tipo de menú desplegable que desea si agrega el campo a cualquier formulario nuevo.

  1. Abra la tabla Lawson_Employees en vista de diseño.
  2. Haga clic en el campo CredType y al la parte inferior del interruptor de pantalla para la pestaña de "búsqueda"
  3. Cambio PresentarControl a "Combobox
  4. Cambiar el rowsource sea el siguiente consulta:

    SELECT CREDTYPEID, CREDTYPE DE tblCredTypes ORDER BY ASC CREDTYPE

  5. Set ColumnCount = 2

  6. Conjunto ColumnWidths a "0";
  7. Conjunto LimitarALista = Sí
  8. Asegúrese ColumnaDependiente se establece en 1

Si ya ha añadido el campo Lawson_Employees.CredTypeID a un formulario, eliminarlo y luego vuélvelo a agregar para configurarlo automáticamente para que puedas seleccionarlo con la etiqueta amigable en lugar de la identificación.

+0

Very nice. Para aquellos de nosotros que todavía utilizamos Access 2003, haga clic derecho en el nombre de la columna y aparecerá la opción "Buscar columna ...". – mavnn

+1

No sabía que eso fuera posible en una tabla vinculada, pero eso se debe principalmente a que nadie en su sano juicio definiría una búsqueda en una tabla. Las búsquedas son objetos INTERFAZ DE USUARIO. Las tablas no son objetos UI. Cree una consulta o un formulario y coloque el menú desplegable allí. También causa problemas porque la IU no se alinea con los datos almacenados reales. Sobre los males de los campos de búsqueda: http://mvps.org/access/lookupfields.htm –

+0

@David buena información, y esta es una solución a corto plazo. Comenzamos con numerosas fuentes de datos. Tenga en cuenta que no dije bases de datos porque algunas personas estaban/están usando hojas de cálculo para mantenerse al día con la información. Todavía no tengo una UI completa y no lo haré hasta que hayamos migrado por completo al servidor SQL y tengamos una interfaz completamente web. A corto plazo, para mantener las cosas en funcionamiento y mantener el ritmo con los datos que estoy usando acceda como una interfaz para las tablas que ahora están en sql. Mirando hacia atrás deberíamos haber dicho al demonio con los datos heredados y comenzamos desde cero. –

3

Si va a introducir los datos a través de un formulario, a continuación, crear una lista desplegable que utiliza dos columnas de abajo es una lista de valores (CredTypeID y CredType) y luego establece el ancho de la primera columna en cero. Hey presto, un campo que acceso trata como teniendo un valor de CredTypeID, pero se muestra con CredType.

No creo que puedas usar este truco directamente en los resultados de la consulta.

+0

En realidad, puede usar el mismo truco directamente en los resultados de la consulta si establece las columnas en el diseño de la tabla. Otro beneficio de hacer esto es que cualquier formulario nuevo al que se agregue el campo se creará automáticamente con el menú desplegable. – JohnFx

+0

+1 como es correcto, pero la respuesta aceptada tenía instrucciones más detalladas. Gracias por su ayuda –

Cuestiones relacionadas