Las siguientes secciones muestran cómo usar los formularios de empleados y cómo programarlos. Los nombres de objeto se proporcionan para que pueda examinarlos fácilmente en la base de datos de Northwind 2.0 Starter Edition.
Uso de los formularios de empleados
Estos son detalles importantes sobre el uso del formulario de lista de empleados:
- A partir del menú principal, al seleccionar Empleados en el menú de la izquierda se muestra una lista de empleados (sfrmMainMenu_EmployeeList) en el área de trabajo de la derecha.
- El ID de cada empleado es un hipervínculo para abrir el registro de ese empleado en un formulario emergente para editar sus detalles.
- Para agregar un nuevo empleado, haga clic en el botón Agregar empleado en el extremo derecho de la fila de encabezado que abre un nuevo registro de empleado en un formulario emergente (sfrmEmployeeDetail_OrderList) para agregar sus detalles.
Uso del formulario emergente de detalles del empleado
Estos son detalles importantes sobre el uso del formulario emergente de detalles del empleado:
El formulario emergente de detalles del empleado (frmEmployeeDetail) permite editar y agregar registros de empleados.
Se requieren tres campos para todos los empleados: nombre, apellidos y cargo.
Los mensajes de error de acceso predeterminado le avisan cuando uno o más no se completan antes de intentar guardar el registro de empleado. No se aplica ninguna validación a otros campos, como la dirección de correo electrónico y los números de teléfono. Los usuarios son responsables de un formato adecuado, como (000) 000-000. La validación de acceso predeterminada en el control desplegable de Títulos limita las entradas a una lista de valores preseleccionados. Puede agregar nuevos títulos, de nuevo, usando el comportamiento de acceso predeterminado para los controles de campo de valor. Al seleccionar la lista desplegable en el formulario, se muestra el icono de edición.
Las imágenes de los empleados se almacenan en la tabla como un campo de datos adjuntos. Agregue nuevas imágenes o cambie las imágenes existentes mediante el comportamiento predeterminado de Access para los campos de datos adjuntos.
Si un empleado ha creado pedidos, el subformulario en el lado derecho de la ventana emergente de detalles del empleado enumera esos pedidos en la vista Hoja de datos.
Cualquier pedido existente para ese empleado se puede editar haciendo clic en el ID de pedido con hipervínculo # en el subformulario Pedidos (sfrmOrderDetails).
Programación de los formularios de empleados
Los formularios de empleado usan VBA y macros incrustadas en los controles de los formularios para llevar a cabo la lógica básica. Contienen dos macros independientes y varias macros incrustadas.
Lista de empleados
El formulario Lista de empleados (sfrmMainMenu_EmployeeList) obtiene sus datos de una simple consulta qryEmployeeList (de la propiedad RecordSource ). Una práctica recomendada es basar un formulario de entrada de datos en una consulta de una tabla.
Los controles del formulario de lista de empleados están habilitados, lo que significa que puede seleccionarlos, y bloqueados, lo que significa que son de solo lectura.
El campo Título, que se basa en un campo multivalor, es una lista desplegable o un cuadro combinado. Su origen de fila es una lista de valores, lo que significa que los elementos opcionales disponibles se incluyen directamente en ese campo. La lista tiene la propiedad Limitar a la lista establecida en "Sí" porque este formulario no está diseñado para edición. El campo multivalor se incluye solo como una ilustración de la característica, no como una recomendación.
En la lista de empleados (sfrmMainMenu_EmployeeList), dos subprocedimientos en los eventos Key Up y Key Down responden a los movimientos del cursor de un usuario en la vista Hoja de datos. Detectan la dirección de un movimiento del cursor (izquierda, derecha, arriba o abajo) y llaman a funciones VBA que mueven el foco al control adecuado.
Puede editar los registros de empleados existentes y agregar otros nuevos en el formulario de detalles (frmEmployeeDetail).
Puede abrir el formulario de detalles del empleado desde la lista de empleados como un formulario emergente editable de cualquiera de estas dos maneras:
- Al seleccionar un EmployeeID, que tiene formato para que aparezca como un hipervínculo, abrir el formulario de detalles del empleado y filtrarlo solo a ese registro de empleado.
- Al seleccionar la etiqueta Agregar empleado en el encabezado del formulario para abrir el formulario de detalles del empleado y mover el foco a un nuevo registro. Todos los registros actuales se encuentran en el origen de registros del formulario.
Ten en cuenta que los dos enfoques pueden tener diferentes impactos en el rendimiento. Al filtrar un formulario a un único registro, se minimiza la cantidad de datos que se van a transferir desde la tabla. Con un conjunto de registros pequeño, la diferencia puede no ser notable.
Detalles del empleado
El formulario de detalles del empleado (frmEmployeeDetail) obtiene sus datos de una consulta simple, qryEmployeeDetails (de la propiedad RecordSource del formulario). Basar un formulario de entrada de datos en una consulta de una tabla es un procedimiento recomendado.
La cláusula SELECT de qryEmployeeDetails usa el carácter comodín asterisco (*) para seleccionar todos los campos de la tabla, mientras que la cláusula SELECT de qryEmployeeList enumera campos específicos. El uso del carácter comodín permite recuperar nuevos campos de una tabla subyacente sin ninguna edición adicional de la consulta. Esto no es posible con una lista de campos específicos. Una lista de campos específicos restringe el conjunto de registros a solo los campos necesarios en el formulario de solo visualización. Su diseño debe basarse en la consideración de qué enfoque es más apropiado para su requisito, aunque la preferencia debe ir al enfoque con menos probabilidades de requerir mantenimiento futuro, que es el uso del carácter comodín.
Los controles del formulario de detalles del empleado están habilitados y no bloqueados, lo que significa que puede seleccionarlos y editarlos.
El campo Título, que se basa en un campo multivalor, es una lista desplegable o un cuadro combinado. Su origen de fila es una lista de valores, lo que significa que los elementos opcionales disponibles se incluyen directamente en ese campo. La lista tiene la propiedad Limitar a lista establecida en "No" porque este formulario está destinado a la edición. Agregar o editar títulos usa el método Access integrado, por lo que no se requiere código. El campo multivalor se incluye solo como una ilustración de la característica, no como una recomendación.
Puede editar los registros de empleados existentes y los nuevos en el formulario de detalles.
Puede abrir el formulario de detalles del empleado desde la lista de empleados como un formulario emergente editable de cualquiera de estas dos maneras:
- Al seleccionar un EmployeeID, que tiene formato para que aparezca como un hipervínculo, abra el formulario de detalles del empleado y filtrelo solo a ese registro de empleado.
- Al seleccionar la etiqueta Agregar empleado en el encabezado del formulario para abrir el formulario de detalles del empleado y mover el foco a un nuevo registro. Todos los registros actuales se encuentran en el origen de registros del formulario.
Al filtrar un formulario a un único registro, se minimiza la cantidad de datos que se van a transferir al formulario desde la tabla. Con un conjunto de registros pequeño, como los datos de ejemplo, la diferencia puede no ser perceptible.
El control de subformulario (sfrmEmployeeDetail_OrderList) situado a la derecha de Información personal muestra los pedidos del empleado seleccionado actualmente (si lo hay). El subformulario en el control de subformulario se reutiliza desde la sección Pedidos . Las propiedades integradas LinkMasterFields/y LinkChildFields de Access del control subformulario sincronizan y filtran los registros que se muestran para cada empleado.
En Detalles del empleado (frmEmployeeDetail), dos procedimientos Sub en el evento actual y el evento en cierre del formulario responden a esos eventos:
- En actual muestra u oculta la etiqueta Agregar empleado dependiendo de si el registro actual es uno existente o cuando es un registro para un nuevo empleado, iniciado pero aún no guardado.
- Al cerrar realiza dos acciones de mantenimiento. Vuelve a consultar el conjunto de registros en el subformulario de detalles del empleado para actualizar las adiciones o los cambios realizados en el formulario de detalles. Vuelve a sincronizar la visualización de los recuentos de empleados en el menú principal llamando a esa macro.
Macros
macMainMenu_UpdateSubs Esta macro es independiente y se ejecuta cuando se producen determinados eventos, incluidos los formularios de empleado. Dentro de macMainMenu_UpdateSubs, las submacros se agrupan según las características a las que se aplican. Para los empleados, la submacro sincroniza el recuento de registros de empleados con el recuento mostrado en el menú principal.
Macros incrustadas Los formularios de empleados se controlan principalmente mediante macros incrustadas contenidas en el formulario y editables solo desde el formulario. En la lista de empleados (sfrmMainMenu_EmployeeList):
- Hipervínculo de EmployeeID Al hacer clic en EmployeeID en el formulario de lista de empleados, se abre el formulario Detalles del empleado y se establece el foco en el registro de empleado seleccionado.
- Agregar etiqueta de empleado Al hacer clic en el botón Agregar empleado , se abre el formulario de detalles del empleado (frmEmployeeDetail) y establece el foco en un nuevo registro.
- Detalles del empleado Al hacer clic en el botón Agregar empleado del encabezado, se guarda el registro actual y se establece el foco en un nuevo registro.