Arquitectura de tres capas con Access

SEGUNDA CAPA: LÓGICA DE NEGOCIO

 

cuarto PROYECTO: Creación de la nómina

 

Para generar el objeto de nómina necesitamos los datos del empleado y/o vendedor (en este proyecto, partimos del hecho de que el empleado es también vendedor). Como no existen tales datos, hay que crear la base de la sección de empleado.

 

Creación de la Tabla3 (empleado)

 

Crea una tabla nueva con la vista de diseño en la misma base de datos. Utiliza el mismo procedimiento de las tablas anteriores considerando las especificaciones que aparecen a continuación:

 

Field Name

Data Type

Primary Key

Propiedades

Observaciones

Caption

Input Mask

DecimalPlace

 

EmpleadoID

Text

Si

ID

 

 

 

NombreEmpleado

Text

 

Nombre

 

 

 

Apellidos

Text

 

 

 

 

 

SeguroSocial

Text

 

S.S.

Soc. Sec. Num

 

Al entrar el Input Mask (mascarilla) guarda la tabla como empleado

SalarioHora

Currency

 

Salario/Hora

 

2

 

HorasTrabajadas

Number

 

Horas Trabajadas

 

 

 

FechaPago

Text

 

Fecha de Pago

Short Date

 

 

ClienteID

Text

 

 

 

 

Este campo permite relacionar al empleado con el cliente.

 

Cierra la tabla y la nominas como empleado.

 

La relación de la tabla del empleado con otras tablas puede discutirse. Muchos patronos prefieren mantener distante e incomunicada la información del empleado del resto de secciones del negocio. No obstante, incluimos el procedimiento de dicha relación de forma provisional.

 

Con los datos que se tienen en la tabla empleado puede crearse la nómina, sin necesidad de tomar prestado más datos de otras tablas.

 

Creación del formulario para entrar la nómina de los empleados

 

Crea el formulario con un clic.

Modifica el formulario en la vista de diseño.

 

Con un clic

Modificado

 

Se crearon los siguientes objetos unbound (no asociados a los campos del Query):

 

Objeto

Etiqueta

Propiedades

Name

Format

Input Mask

Control Source

Text  Box

Horas Extras

Extra

 

 

 

Text  Box

Total

 

 

 

=[HorasTrabajadas]*[SalarioHora]

Text  Box

Income Tax

 

 

 

=[Total]*0.09

Text  Box

Retiro

 

 

 

=[Total]*0.07

Text  Box

ASUME

 

 

 

=[Total]*0.05

Text  Box

Pago Horas Extras

PagoExtra

 

 

=([SalarioHora]*2)*[Extra]

Text  Box

Total Neto

 

 

 

=[Total]+[PagoExtra]-[IncomeTax]-[Retiro]-[Asume]

Label

Retenciones

 

 

 

 

2 Rectangle

 

 

 

 

 

Label (en el Header)

Nómina

Font:: Tamaño 16, Color azul

 

 

Jugando con las fórmulas

 

Podemos reducir los objetos de control de cálculo agrupando los datos.

 

 

Compara este interfaz con el anterior. Fueron eliminados los controles del Total y de Horas Extra. Al tener separadas las horas regulares de las extra, se prestaba a confusión al momento de entrar las horas trabajadas. En este nuevo diseño se integraron todas las horas trabajadas, regulares y extras. Se separarán al hacer los cómputos (juntas, pero no revueltas).

 

En Horas Trab se entran todas las horas trabajadas:regulares y extra.

 

Estas son las fórmulas de los Text Box correspondientes a sus etiquetas. Las horas extras se pagan a doble tiempo (2):

 

Pago Horas Extra =([HorasTrabajadas]-40)*[SalarioHora]*2

Income Tax  =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) * 0.11

Retiro           =([HorasTrabajadas] * [SalarioHora]+([HorasTrabajadas]-40) * [SalarioHora] * 2) * 0.09

Total Neto =([HorasTrabajadas]*[SalarioHora]+([HorasTrabajadas]-40)*[SalarioHora]*2)-[IncomeTax]-[Retiro]-[Asume]

 

PARA SABER MAS...

La nómina en Visual Basic

 

 

Reto: La Comisión y las Notas del examen

Si quisiéramos integrar una comisión al empleado que vende tendríamos que relacionar las tablas de Empleado, Cliente y Producto.

 

Crea un Query con estas tres tablas y elige los campos necesarios para la comisión, incluyendo, sin falta, el ID y el nombre del empleado. Para calcular el 3% del total en comisión del empleado, sólo necesitamos también el  Total de las ventas o los campos de Cantidad y Precio:

Comision = [Total] * .03

o

Comisión = ([Cantidad] * [PrecioPublico]) * .03

 

Este control puedes colocarlo en la tabla del Query, en el formulario o en el informe (más adelante aprenderás a integrar controles de cálculo en el informe).

 

La comisión en escalas (IIF...)

En Access se escribe IF con dos íes IIF(...). La sintaxis es similar a la de Excel.

If simple:

=IIf ([Ventas] >=1000,[Ventas]*.1)

 

If múltiple:

 

=IIf ([Ventas] <= 1000, “Sin comisión”,IIf([Ventas]< =5000,[Ventas]*.05, IIf([Ventas]<=

            10000,[Ventas]*.10,  “Viaje en un Crucero”)))

 

El viaje en crucero ocurre siempre y cuando haya vendido más de 10,000.00

La Nota

Con un formulario del promedio en la vista Design:

1.                                                             Crea un objeto con la herramienta Text Box debajo del objeto de promedio (Observa el modelo del lado).

2.                                                             Escribe en el rótulo (Caption) Nota.

3.                                                             Escribe en el recuadro de Text Box la siguiente formula (El Text Box que contiene el promedio se llama Avg):

 

=IIf([Avg]<59,"F",IIf([Avg]<69,"D",IIf([Avg]<79,"C",IIf([Avg]<89,"B","A"))))

 

 

 

 

 

 

 

 

Home | Diseño Aplicaciones |