Estoy haciendo un sistema que trata de vacaciones que tiene un trabajador pero tiene que comparar fechas y si son días festivos sumarlos a los días de vacaciones que tiene el trabajador y todo esto dependiendo del turno, del horario, y de la categoría del trabajador, ¿cómo puedo hacer para que me compare si es día festivo y se los sume a los días de vacaciones del trabajador?
Gracias por ayudar P.D. Todo esto es en VB6.0 SQL y Access 2000 convitiendo las BD a Access97
1 Respuesta
Respuesta de magneto
1
1
magneto, Se algo de programacion, estudie armado y mantenimiento en...
Primero tienes que hacer una tabla donde guardes todos los días festivos del año por ejemplo 5-may no debe tener año porque es para cualquier año luego debes poner la fecha en que sale de vacaciones el trabajador y los días que le dan de vacaciones y guardarlos en otra tabla. Todo bien ahora el código. Dim db As Database Dim rec As Recordset Dim rec2 As Recordset Dim iSQL As String Private Sub Calcular_Click() On Error Resume Next Set db = OpenDatabase(App.Path & "Mi_base_de_datos.mdb") Dim Fecha_Inicial_Vacaciones As String Dim Dias_Vacaiones As Integer Dim Fecha_Nueva As String Dim Dias_Totales As Integer Dim Fecha_Entrada As String Dim f As String Dim Cont_Dias As Integer Set rec2 = db.OpenRecordset("Trabajador") f = "dd-mmm" rec2.MoveFirst '<------ Este es un ejemplo aqui va el numero del registro del trabajador Fecha_Inicial_Vacaciones = rec2!Primer_Dia_Vacaciones Dias_Vacaiones = rec2!Dias_Totales a = 1 Do While a <= Dias_Vacaciones Fecha_Nueva = DateValue(Fecha_Inicial_Vacaciones) + a iSQL = "SELECT * FROM Dias_Festivos WHERE dia_f = " & Format((Fecha_Nueva), f) Set rec = db.OpenRecordset(iSQL, dbOpenSnapshot) If rec.RecordCount <> 0 Then Cont_Dias = Cont_Dias + 1 End If a = a + 1 Loop Dias_Totales = Cont_Dias Fecha_Entrada = DateValue(Fecha_Inicial_Vacacione) + Dias_Totales Te recomiendo que copies todo el código y lo pegues en vial basic porque aquí todo se empalma recuerda este es solo un ejemplo le faltan cositas que solo tu puedes agregarle.