Microsoft Access: Cómo utilizar la propiedad de columna de un cuadro combinado para actualizar un cuadro de texto

Ha finalizado el soporte técnico para Office 2003

Microsoft puso fin al soporte técnico para Office 2003 el 8 de abril de 2014. Este cambio ha afectado a las actualizaciones de software y las opciones de seguridad. Sepa qué significa esto en su caso y cómo puede mantenerse protegido.

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 209738
Moderada: Requiere macro básico, codificación y conocimientos de interoperabilidad.

En este artículo se aplica a una base de escritorio de Microsoft Access (.mdb y .accdb) y a un proyecto de Microsoft Access (.adp).

Resumen
Puede mostrar varios campos en un cuadro combinado o un cuadro de lista en un formulario de informe de ora, incluso cuando esos campos proceden de una tabla que no está enlazada al formulario o al informe. También puede actualizar los controles, como cuadros de texto, con la nueva información basada en lo que el usuario selecciona en un cuadro combinado o un cuadro de lista.
Más información
Para llevar a cabo las tareas mencionadas en la sección "Resumen", utilice una de estas técnicas:
  • Método 1: Usar Autobúsqueda en formularios.
  • Método 2: Utilizar la propiedad de columna de un cuadro combinado con varias columnas para actualizar un control de cuadro de texto con información nueva.
  • Método 3: Utilizar varias funciones de DBúsq() en formularios e informes.

Método 1: Usar Autobúsqueda en formularios

Puede diseñar una consulta de varias tablas para rellenar automáticamente en determinados valores de campo para un nuevo registro y utilizar la consulta como el origen de fila de un cuadro combinado. Cuando escribe un valor en el campo de combinación en la consulta o en un formulario o un informe basado en la consulta, Microsoft Access busca y rellena la información existente relacionada con ese valor. Por ejemplo, si conoce el valor del campo combinado entre una tabla Customers y una tabla Pedidos (generalmente un identificador de cliente como un ID de cliente), puede introducir el ID de cliente y dejar que Access introduzca el resto de la información de ese cliente. Si no se encuentra ninguna información coincidente, Access muestra un mensaje de error cuando el enfoque abandona el registro. Para que Autobúsqueda funcione, deben cumplirse ciertas condiciones:

  • La consulta debe estar basada en más de una tabla y las tablas deben tener una relación uno a varios
  • El campo de combinación en el lado "uno" de la relación debe tener un índice único.
  • El campo de combinación que agregue a la cuadrícula de diseño debe proceder de la tabla en el lado "varios" de la relación uno a varios. (En otras palabras, es la clave externa para la tabla.) Para que Autobúsqueda funcione, este campo no puede ser una clave principal y su propiedad Indexed no se puede enviar a Sí (sin duplicados). Por ejemplo, en una consulta que incluya las tablas clientes y pedidos, arrastre a la cuadrícula de diseño el campo IdCliente de la tabla pedidos, no el ID de la tabla Customers.
  • El valor que introduzca en el campo combinado del lado "varios" ya debe existir en el campo combinado del lado "uno".
Al actualizar los datos:

Cuando el valor del campo combinado en el lado "varios" de la relación se agrega o se cambia de un registro, Access automáticamente busca y muestra los valores asociados de la tabla en el lado "uno" de la relación.

Siempre es posible actualizar el campo de combinación desde el lado "varios" de una relación, pero puede actualizar el campo combinado del lado "uno" sólo si ha habilitado las actualizaciones en cascada al definir la relación entre las tablas. En cualquier caso, cuando se actualizan datos, Access vuelve a calcular automáticamente cualquier total o expresión en la consulta que depende de los datos actualizados.

Método 2: Mediante la propiedad de columna de un cuadro combinado

Al asignar la propiedad de columna de un cuadro combinado de varias columnas o un cuadro de lista a un cuadro de texto, puede mostrar una columna de la selección actual del cuadro combinado en el cuadro de texto. Cuando se realiza una selección en el cuadro combinado, Microsoft Access actualiza automáticamente el cuadro de texto. Para ello, siga estos pasos:
  1. Abra la base de datos de plantilla de Northwind de ejemplo.
  2. Crear un formulario o un informe basado en la tabla o consulta.
  3. Agregue un cuadro combinado o cuadro de lista que recupera información de campo de cumplir más.

    Por ejemplo, podría utilizar la siguiente multicolumna instrucción Select como la propiedad OrigenDeLaFila (RowSource) para un cuadro combinado o cuadro de lista para mostrar información de varias columnas de la tabla Categories:
    Seleccione [empleados]. [ID], [empleados]. [Apellido], [empleados]. [Puesto] FROM Empleados ORDER [empleados]. [Apellido]
    Este ejemplo establece la propiedad ColumnCount a 3 y establezca la propiedad AnchuraDeColumnas (ColumnWidths) en un tamaño adecuado para el cuadro combinado o cuadro de lista. Después de que el cuadro combinado o cuadro de lista tamaño correcto anddefined para devolver varios campos, puede utilizar la propiedad Column para mostrar la selección actual en un control de cuadro de texto. Elija una entrada en el cuadro de lista en primer lugar; de lo contrario, devuelve Null.

    La propiedad de columna , utiliza un argumento de referencia para hacer referencia a una columna específica en el cuadro de lista o cuadro combinado de múltiples columnas. Utilice Column(0) para hacer referencia a la primera columna, Column (1) para hacer referencia a la segunda columna y así sucesivamente.

    Este ejemplo utiliza Column (1) para hacer referencia a [Last Name], la segunda columna del cuadro combinado.
  4. Para mostrar la columna [Last Name] de la selección del cuadro combinado actual, cree un control de cuadro de texto. Poner el texto en un control calculado definiendo la siguiente expresión como el OrigenDelControl (ControlSource) del cuadro de texto de la caja
    =[cboControlName]. Column (1)
    donde cboControlName es el nombre del cuadro combinado. La propiedad de columna hace que el cuadro de texto (control calculado) de sólo lectura.

Método 3: Usar DBúsq (DLookup) en los controles

Cree un formulario independiente en la base de datos de ejemplo Northwind y, a continuación, agregue un cuadro combinado denominado cboEmployeeLookup y un cuadro de texto denominado txtJobTitleLookup.
   In Northwind.mdb in Access 2003 or earlier:   Object: Combo Box   -------------------------------            Name: cboEmployeeLookup   RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)       RowSource: Employees     ColumnCount: 2    ColumnWidths: 1     BoundColumn: 1    DefaultValue: 1   Object: Text Box   -------------------------------            Name: txtLastNameLookup   ControlSource: =DLookup("[LastName]","Employees","[EmployeeID]="                          & [cboEmployeeLookup])   			   In the Northwind Template database in Access 2007 or Access 2010:    Object: Combo Box    -------------------------------             Name: cboEmployeeLookup    RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)        RowSource: Employees      ColumnCount: 3     ColumnWidths: 0";0";1"      BoundColumn: 1     DefaultValue: 1     Object: Text Box     -------------------------------              Name: txtJobTitleLookup     ControlSource: =DLookup("[Job Title]","Employees","[ID]=" & [cboEmployeeLookup])     
Tenga en cuenta que cuando se selecciona un valor de empleado con el cuadro combinado de cboEmployeeLookup , el cuadro de texto txtJobTitleLookup se rellena.

Referencias

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 209738 - Última revisión: 10/01/2015 02:58:00 - Revisión: 2.0

Microsoft Access 2000 Standard Edition, Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003, Microsoft Office Access 2007, Microsoft Access 2010, Microsoft Access 2013, Access 2016

  • kbhowto kbinfo kbusage kbmt KB209738 KbMtes
Comentarios