Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Selecciona cualquier tema a continuación para obtener información sobre los empleados en Northwind Developer Edition. 

Los empleados tienen un formulario dividido que funciona como formulario de lista y detalles. 

Use Empleados para agregar nuevos empleados y actualizar la información sobre los empleados existentes. 

Seleccione la pestaña Empleados en la cinta de opciones para mostrar los empleados en el formulario Lista de empleados, frmEmployeeList, que es un formulario dividido con las siguientes características: 

  • La parte superior del formulario es una vista única de un empleado.

  • La parte inferior del formulario es una vista Hoja de datos de todos los empleados.

  • Seleccionar un empleado en cualquier parte también establece el foco para ese empleado en la otra parte del formulario dividido.

  • Puede agregar, editar o eliminar empleados en cualquier parte del formulario dividido.

  • Al usar un formulario dividido con el elemento de vista Hoja de datos, se supone que el origen de registros del formulario tiene varios registros.

Posible impacto en el rendimiento de un formulario dividido 

La mayoría de los desarrolladores prefieren no cargar una tabla o consulta sin filtrar como origen de registros para un formulario. Filtrar un formulario por un único registro minimiza la cantidad de datos que se transferirán de la tabla al formulario. Con una tabla de Access local, la diferencia entre cargar un origen de registros filtrado y un pequeño origen de registros sin filtrar puede ser apenas perceptible. Sin embargo, este rendimiento se pierde cuando las tablas de Access se reemplazan por una base de datos remota basada en servidor como SQL Server. 

La tabla de empleados de Northwind no debería ser muy grande, por lo que es un candidato para un origen de registros sin filtrar. Sin embargo, los formularios enlazados a otras tablas, como los detalles del pedido (que potencialmente crecerán a miles de registros), no son candidatos para un origen de registros sin filtrar.
 

EDITAR EMPLEADOS

Al agregar o editar registros en un formulario dividido, los usuarios pueden escribir valores en la vista de formulario o en la vista hoja de datos. Algunos campos son obligatorios y otros opcionales. El formulario valida la presencia de valores en campos obligatorios. Vea Validación de campo obligatoria a continuación.

Tablas de búsqueda, listas de valores y controles desplegables

  • La lista desplegable Títulos limita las entradas a una lista de títulos preselección. Los títulos se encuentran en una tabla de búsqueda denominada Títulos.

  • Algunas opciones esperadas ya están almacenadas en la tabla de búsqueda, pero los usuarios pueden agregar nuevos títulos a la tabla de búsqueda, usando el comportamiento predeterminado de Access para el cuadro combinado o los controles desplegables.

    • La propiedad Limitar a la lista del cuadro combinado Título se establece en y el formulario de edición de Títulos se identifica en la propiedad Formulario de edición de elementos de lista. Al seleccionar la lista desplegable en el formulario, se muestra el icono de edición en el borde inferior. 
      ...

Al hacer clic en el icono de edición se abre el formulario de edición Títulos , frmEmployeeTitles, donde puede cambiar o agregar a la lista de títulos aprobados. 

NOTA: En la mayoría de los entornos de producción, editar o agregar títulos se limitaba a los usuarios con privilegios mejorados.
 

Self-Referential campos de búsqueda

La función empleado ilustra el concepto de un campo id. de Self-Referential. Para apoyar la designación del supervisor de un empleado, la tabla tiene un campo SupervisorID con Id. de empleadopara otros empleados. Para designar un supervisor, se especifica el Id. de empleado de otro empleado en este campo. Access exige integridad referencial en esta relación.

El SupervisorID se implementa en el formulario de empleado como una lista desplegable, o cuadro combinado; su origen de fila es un conjunto filtrado de registros de la tabla Empleados. Dado que es autorreferencial, la consulta debe excluir el id. de empleado seleccionado. Por ejemplo, el origen de fila de SupervisorID para la empleado Karen Finster no incluye el id. de empleado de Karen. No puede ser su propia supervisora.

Controles y campos de datos adjuntos

Las imágenes de los empleados se almacenan en un campo de datos adjuntos de la tabla. Puede agregar nuevas imágenes o cambiar las existentes con el comportamiento predeterminado de Access para los campos de datos adjuntos. 
...

NOTA: Hemos incluido un campo de datos adjuntos en la tabla Empleados para ilustrar la característica en Access. Las imágenes incrustadas aumentan el tamaño de accdbs y, por lo tanto, no se consideran un procedimiento recomendado. Evalúe cuidadosamente su entorno antes de implementarlo en una aplicación de producción. La alternativa preferida es una carpeta de red que almacena todas las imágenes y un vínculo en un campo de texto de la tabla que contiene la ruta de acceso a la imagen, en lugar del campo Datos adjuntos.

Subformulario con información relacionada

En el subformulario pedidos (en el lado derecho del formulario Empleado) se muestran los pedidos recientes (si los hay) controlados por el empleado. El subformulario enumera los pedidos en la vista Hoja de datos, ordenados de más reciente a más antiguo. Para editar un pedido existente para ese empleado, haga clic en el n.º de id. de pedido con hipervínculos en el subformulario Pedidos.

Recordsource del formulario de empleado

Una consulta denominada qryEmployees devuelve los registros del formulario. El uso de una consulta, en lugar de la tabla, suele considerarse un procedimiento recomendado. La consulta devuelve los registros de una sola tabla. Además, una consulta se puede configurar con parámetros para limitar el número de registros devueltos. 

  • La cláusula Select de esta consulta usa el carácter comodín '*' para devolver todos los campos de la tabla Empleado.

  • Dos campos calculados de la consulta devuelven Nombre Apellidos y Apellidos, Nombre.
     

Valores calculados en Controles

NOTA: Los campos calculados no se almacenan en la tabla. Sin embargo, están disponibles en el origen de registros del formulario.

La mayoría de los controles del formulario de empleado están habilitados , por lo que puede seleccionarlos con el mouse o la pestaña en ellos y no están bloqueados para que sean editables. 

Además del comportamiento integrado de Access, los subs y funciones de VBA en formularios, en controles de formularios y en módulos independientes ejecutan la lógica básica necesaria para los empleados. En la siguiente sección se describen las funciones y el código que implementa esas funciones. 

Acción de control integrada

Comportamiento predeterminado del selector de registros del formulario: 

  • Hacer clic con el botón izquierdo en el selector de registros a la izquierda de un formulario en una sola vista guarda el registro actual con cualquier modificación. Al guardar haciendo clic con el botón izquierdo en el selector de registros, se desencadenan subs y funciones de VBA adecuadas.

  • Al hacer clic con el botón derecho en el selector de registros a la izquierda de un formulario en una vista, aparece un menú emergente para realizar acciones como Cortar, Copiar o Pegar un registro. Al eliminar o cortar un registro se desencadena la función EmployeeCanBeDeleted que se describe a continuación.

  • Los Selectores de registro deben estar habilitados para que un formulario pueda estar disponible con este comportamiento predeterminado.
     

Integridad referencial para los registros del formulario

Integridad referencial impide la eliminación de empleados que tienen registros secundarios en tablas relacionadas. Por lo tanto, Access genera un error si un usuario intenta eliminar un registro con registros secundarios. El formulario empleado de Northwind access reemplaza los mensajes de error genéricos predeterminados relativos a la integridad referencial por mensajes personalizados.

El código del procedimiento Delete del formulario responde a los intentos de Cortar un registro desde el menú contextual o de eliminar un registro mediante la tecla Suprimir

Una función privada, EmployeeCanBeDeleted, comprueba si hay registros relacionados de ese empleado en las tablas Pedidos, Pedidos de compra, Empleados y Privilegios de empleado

Si se encuentran, esta función suprime el mensaje de error predeterminado e informa al usuario del motivo por el que el registro no se puede eliminar con el mismo cuadro de diálogo genérico que el formulario del cliente usa para notificar al usuario el motivo por el que no se puede eliminar el cliente.

Validación

Los empleados implementan la validación y el control de errores estándar. Existen dos tipos de validación para los controles.

  • Campos obligatorios

  • Formatos estándar

Validación de campo necesaria

 Se necesitan tres campos para todos los empleados:

  • First Name

  • Apellido

  • Job Title

En esta versión para desarrolladores, el evento Before Update del formulario valida los campos obligatorios. Si un usuario intenta guardar un registro de empleado sin valores para uno o más campos obligatorios que no tienen una validación de valor, cancela el guardado y resalta los campos obligatorios que no tienen un valor. En el formulario Empleado de Northwind, la validación de campo necesaria la controla el evento Antes de actualizar del formulario, no los controles individuales.

El evento Before Update del formulario Empleado valida la presencia de valores para los tres campos necesarios. Guardar un registro de empleado nuevo o editado activa el evento Before Update del formulario, que llama a funciones públicas que comprueban y responden a la presencia o ausencia de los valores necesarios.

El módulo modValidation contiene estas funciones:

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Administrar nuevos empleados

Al hacer clic en el botón Agregar empleado se ejecuta el sub btnNewEmployee_Click privado para: 

  • guardar el registro actual y

  • establecer el foco del formulario en un nuevo registro
    '

Caracteres comodín frente a campos con nombre en una consulta de selección

La cláusula SELECT de qryEmployees usa el carácter comodín "*" para seleccionar TODOS los campos de la tabla. El diseño de la consulta con caracteres comodín incluye automáticamente los campos recién agregados de una tabla subyacente, lo que no es posible con una lista de campos específicos. Por otro lado, uno podría enumerar campos específicos para restringir el conjunto de registros devuelto solo a los campos necesarios en un formulario de solo presentación, por ejemplo.

Opciones de diseño adecuadas

Sus diseños deben basarse en el enfoque adecuado para sus necesidades. Aunque, cuando sea posible, las preferencias normalmente irían al enfoque con menor probabilidad de requerir mantenimiento futuro (es decir, el enfoque comodín). 

Cuadros combinados enlazados a tablas de búsqueda: dos enfoques

Los elementos relacionados, como el supervisor de un empleado, se muestran en listas desplegables o cuadros combinados en formularios. Solo la clave externa para SupervisorID es necesaria en la consulta del origen de registros del formulario porque ese campo está enlazado al campo de clave externa (SupervisorID). El cuadro combinado también muestra el valor de texto correspondiente.

Esto funciona en un cuadro combinado de dos columnas con una columna id. oculta y una columna descripción visible. En el formulario empleado, el cuadro combinado Supervisor está enlazado a una consulta simple de dos columnas. Vea la propiedad RowSource para Supervisor.

Sin embargo, en algunos casos, una tabla de búsqueda no tiene ninguna clave principal independiente y, por lo tanto, el propio valor de texto es la clave principal.

Cuando una lista de valores posibles es pequeña y muy estable, como el título de un empleado, a menudo se denomina dominio cerrado. No es habitual cambiar o agregar valores para Título. Las tablas de búsqueda de dominios cerrados son candidatos para el enfoque de consulta de una columna.

En el formulario Empleado, el cuadro combinado Título está enlazado a una consulta de una columna de Títulos. Vea la propiedad RowSource para Títulos. 

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×