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.

Seleccione cualquier tema a continuación para obtener información sobre la administración de Empresas en Northwind Developer Edition. 

Nota: Se hace referencia a esta página en Access Developer Showcase Edition

En northwind Starter Edition, Customer es el único tipo de empresa. En la edición Developer, la hemos ampliado para incluir clientes, transportistas y proveedores

También expandimos Productos para incluir varios proveedores para un producto.   

Cada empresa puede ser de un solo tipo: Cliente, Transportista o Proveedor. El caso de negocio para cuando se puede cambiar el tipo de empresa se describe en la sección frmCompanyDetail de este artículo.
'

Tipos de compañías y dónde se usan 

  • Cliente de un pedido

  • Transportista para un pedido

  • Proveedor de un pedido de compra

  • Proveedor de un producto

Además, las empresas en la versión para desarrolladores de Northwind pueden tener varios contactos.
'

Empresas en la cinta de opciones

Si selecciona Empresas en la cinta de opciones, se mostrarán Compañías en Northwind en frmCompanyList

Lista de empresas - frmCompanyList

En la versión para desarrolladores de Northwind, frmCompanyList es un formulario dividido. Un formulario dividido proporciona dos vistas de los datos al mismo tiempo: vista Formulario y vista Hoja de datos. También tiene un encabezado y un pie de página.  En esta implementación no se mostrará la vista de formulario. Al no mostrar la vista de formulario, tendremos una hoja de datos con un encabezado y un pie de página.  

Así es como lo logramos:  

En frmCompanyList, la barra divisora entre el encabezado y la hoja de datos no es visible. La propiedad de formulario Split Form Splitter Bar se establece en No, lo que oculta la vista de formulario. 

Los formularios divididos y los formularios de hoja de datos son como las hojas de cálculo de Excel. Admiten el filtrado y la ordenación, y puede mostrar, ocultar o mover campos o columnas. Además, las columnas se pueden calcular en total. 

Las secciones de encabezado y pie de página de un formulario dividido le permiten usar botones de comando, imágenes, texto (etiquetas) y cualquier otro control de formulario de acceso que desee para mejorar la experiencia del usuario. Para obtener más información sobre formularios y formularios divididos, puede empezar aquí. Las hojas de datos no muestran las secciones de encabezado y pie de página.

Obtenga más información a través de Introducción a los formularios y Crear un formulario dividido
'

El formulario Lista de empresas admite estas cinco acciones:

  • Aplicar un filtro personalizado precompilado, un filtrado bajo demanda o ambos

  • Mostrar u ocultar campos

  • Crear etiquetas

  • Mostrar filtro

  • Agregar una nueva empresa

Haga doble clic en cualquier lugar de la fila de detalles para abrir el formulario Detalle de la empresa (no solo en id. como en otros formularios). 
'

Filtros precompilados y filtrado bajo demanda

El formulario frmCompanyList tiene muchas oportunidades para filtrar las compañías de Northwind.  En la parte superior de la pantalla, puede filtrar con estos botones de radio:

  • Todas las empresas (valor predeterminado)

  • Solo clientes

  • Solo transportistas

  • Solo proveedores

Además, las opciones de filtrado integradas a petición de la hoja de datos están disponibles. Los filtros aplicados al formulario Lista de compañías (precompilados o a petición) se pasan y se aplican a frmCompanyDetail cuando se abre.  

Para pasar filtros de un formulario a otro, primero debe limpiar la cadena de filtro del formulario para que contenga solo nombres de campo. Mire el módulo de código Open_frmCompanyDetail para obtener una explicación más detallada de cómo se hace y en frmCompanyDetail en los comentarios de Form_Load para ver cómo se aplica.

Se pasa la información de filtro al formulario Detalle de la empresa a través de la propiedad OpenArgs del formulario en lugar de abrir el formulario con una condición where .  Puede obtener más información sobre OpenArgs aquí.


Mostrar u ocultar campos

Seleccione Mostrar u ocultar campos para abrir un cuadro de diálogo con una lista de todos los campos disponibles; puede activar o desactivar una o más columnas. El diseño seleccionado se conserva de una sesión a otra hasta que se implementa una nueva versión de la aplicación. Vea Mostrar u ocultar columnas en una hoja de datos. 

Crear etiquetas

El botón Crear etiquetas abre el Asistente para etiquetas de Access. Obtenga más información sobre el asistente para etiquetas aquí: Crear etiquetas postales en Access. 

Abrir detalles de la empresa

Haga doble clic en cualquier lugar de una fila de detalles para abrir frmCompanyDetail

Haga clic en el campo Id. (configurado como hipervínculo) o haga doble clic en cualquier otro campo de la fila de detalle para abrir frmCompanyDetail en la empresa seleccionada y pasar cualquier filtro de formulario que se haya aplicado a la lista de empresas a frmCompanyDetail.

Detalle de la empresa - frmCompanyDetail

A primera vista, la frmCompanyDetail puede parecer relativamente simple.  Sin embargo, no lo es.  En el código detrás de la forma, está sucediendo mucho!  El formulario resalta las siguientes acciones y características:

  • Varios botones de comando y vínculos

    • Agregar empresa

    • Email lista de compañías

    • Mostrar filtro

    • Eliminar empresa

    • Abrir un mapa basado en una dirección

    • Abrir un sitio web desde un hipervínculo

  • Cancelar o guardar acciones en el modo de agregar o editar

  • Reglas empresariales para controlar cuándo se puede cambiar un tipo de empresa

  • Comprobación de integridad referencial antes del evento
    delete '

El evento Form_Load incluye las siguientes acciones:

  • Usar varios parámetros pasados al formulario a través de OpenArgs y la función personalizada Northwind StringToDictionary

  • Usar la propiedad de formulario OpenArgs para permitir que un usuario agregue una nueva compañía mientras realiza un pedido

  • Usar la técnica GoToRecord para agregar una nueva compañía

  • Usar la técnica SearchForRecord para desplazarse a la compañía seleccionada en frmCompanyList

  • Opciones de bifurcación/ejecución condicional (vea evento de Form_Load)

    • Opción 1: Instrucción Case

    • Opción 2: Anidada si no lo está

    • Opción 3: ElseIf

    • Opción 4: Anidadas Si No y Si Nom
      '

En el evento de Form_Current, se producirá lo siguiente: 

  • Cambie un subformulario subtítulo y un objeto de origen en tiempo de ejecución llamando al sub ManageFormOptions(). Esta subrutina se llama desde varios lugares de este formulario. 
    '

Cancelar o guardar acciones cuando se está en el modo de agregación o edición. 

Nuestros formularios de Access están enlazados.  ¿Qué significa esto?  De Microsoft:
"Un formulario 'dependiente' es aquel que está conectado directamente a un origen de datos, como una tabla o consulta, y que se puede usar para introducir, editar o mostrar datos de ese origen de datos".

Con los formularios dependientes, Access no requiere que "guarde" explícitamente los datos.  Al pasar de un registro al siguiente, Access guarda automáticamente los datos.  A menudo, eso funciona exactamente de la manera que se desea.  Pero, ¿qué sucede si un usuario debe realizar una acción para indicar que está listo para guardar? 

Por ejemplo, el formulario frmCompanyDetail tiene un subformulario para Contactos (sfrmCompanyDetail_Contacts).  Por lo tanto, ¿qué sucede si empieza a agregar o editar los datos de la compañía (por ejemplo, el número de teléfono) y hace una pausa para corregir un error ortográfico que observa en la información de un contacto?  De forma predeterminada, Access guardará los cambios realizados en el registro de empresa al hacer clic en el registro de contacto, que no es lo que desea. 

En este formulario, mostramos una forma de lograrlo con un único registro para una compañía.

¿Cuál es el motivo de tener el botón Cancelar ? La tecla escape cancela todos los datos introducidos o modificados (pero sin guardar) en un control del formulario. En este estado, el icono de lápiz aparece en el selector de registros (una barra vertical gris en el extremo izquierdo de la fila).

Sin embargo, después de hacer clic en el botón Agregar compañía , observará que no hay ningún icono de lápiz hasta que empiece a escribir datos en el nuevo registro de empresa. ¿Qué sucede si cambias de opinión sobre la adición de una nueva empresa en este momento? Si presiona la tecla de escape, no ocurre nada porque todavía no ha escrito ningún dato. Por eso tenemos el botón cancelar.

Hacer clic en el botón Cancelar siempre funciona; la tecla escape solo funciona cuando se han introducido o cambiado datos.  

Si empieza a agregar o cambiar datos y luego cierra el formulario sin hacer clic en Guardar o cancelar, Access guardará los datos de forma predeterminada.  

Regla de negocio:
Como regla de negocio de Northwind para Empresas, queremos que indique explícitamente que desea "Guardar".  Para garantizar que, debemos comprobar si el usuario hizo clic en guardar en el evento de Form_BeforeUpdate y si no hizo clic en Guardar, pida al usuario que indique si desea guardar o cancelar sus cambios.
'

Cambio de tipo de empresa

Regla de negocio: Si una empresa tiene pedidos, pedidos de compra o es un proveedor de un producto, el usuario no puede cambiar el tipo de empresa. Hemos creado una función, CompanyIsActive(), para determinar si existe alguna de las condiciones anteriores. Si es así, el usuario no podrá cambiar el tipo de empresa hasta que se borren (eliminen) estas referencias. 

Esta regla solo se aplica en este formulario.  En una aplicación lista para producción, no se permite a los usuarios cambiar datos abriendo la tabla directamente.  En Northwind, le permitimos abrir las tablas y hacer lo que quiera.  Esta es una buena forma de aprender, pero también le deja libre de realizar cambios que puedan infringir las reglas. 

Siempre debes programar defensivamente. Planee lo inesperado. Incluso si la compañía es actualmente un transportista, eso no significa que no fueran en algún momento un proveedor o cliente. Su identificador puede encontrarse en los registros más antiguos de las tablas ProductVendor o PurchaseOrder .
'

Formulario de cuadro de diálogo personalizado.

Para mostrar sus conclusiones, cboCompanyTypeID_BeforeUpdate usa un formulario de diálogo, frmGenericDialog. Esto puede ser una gran alternativa al cuadro de mensaje estándar cuando tiene una gran cantidad de información para mostrar. También se usa con el formulario de empleado para un propósito similar.
'
 
Eliminar comprobación de integridad referencial

En northwind Starter Edition, permitimos que el comportamiento predeterminado de Access le notifique que una empresa no se puede eliminar cuando tiene registros relacionados.  

En la Northwind Developer Edition, se lo notificaremos antes de la eliminación, en lugar de aceptar el comportamiento predeterminado de Access.  Lo hacemos usando la misma función que hicimos el Cambio de tipo de compañía; función CompanyIsActive().

La diferencia es que solo nos interesan los Pedidos o pedidos de compra. Si no hay pedidos o pedidos de compra, confirmamos su intención de eliminar y eliminaremos el Proveedor del producto y los contactos si existen para usted. 

¿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!

×