Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Access - Días Hábiles

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Días Hábiles

Autor:Eduardo (3 intervenciones)
Fecha:31/05/2007 21:21:42
Hola al Foro y gracias por su tiempo, mi consulta es la siguiente:
Tengo dos tablas la primera llamada “tblpdpago”, con los siguientes campos: Idfactura; fechafactura; montofactura; cantidaddecuotas; nrodecuota.

La segunda llamada “Feriados”, con un único campo: Fecha.

Luego tengo un formulario llamado Formulario1, y como origen del registro tiene a la tabla “tblpdpago”.
Y un Sub Formulario que está dentro del Formulario1 llamado “tblpdpago”, en forma de formulario continuo con todos los campos de la tabla (Idfactura; fechafactura; montofactura; cantidaddecuotas; nrodecuota; vencimiento).

Dentro del Formulario1 tengo cuatro cuadros independientes, y un botón de comando.
Los cuadros independientes se llaman: cFechanumero; cFacturaFecha; cFacturaMonto; cFacturaNumCuotas.
El botón de comando se llama: cmdplandepagos, y en la opción al hacer click tiene un procedimiento de evento con el siguiente código:

Public Sub cmdplandepagos_Click()

Dim db As Object, rst As Object
Dim mesx As Integer, aniox As Integer, I As Integer
Dim fechaux As Date
Set db = CurrentDb()
Set rst = db.OpenRecordset("tblpdpago")
mesx = Month(Me.cFacturaFecha)
aniox = Year(Me.cFacturaFecha)
fechaux = CDate(Day(Me.cFacturaFecha) & "/" & mesx & "/" & aniox)

For I = 1 To Me.cFacturaNumCuotas '<<<< Me.cantidaddecuotas


If mesx = 2 Then
If (Day(Me.cFacturaFecha)) > 28 Then
fechaux = CDate(28 & "/" & mesx & "/" & aniox)
Else
fechaux = CDate(Day(Me.cFacturaFecha) & "/" & mesx & "/" & aniox)
End If
Else
fechaux = CDate(Day(Me.cFacturaFecha) & "/" & mesx & "/" & aniox)
End If



With rst
.AddNew
.Idfactura = Me.cFacturaNumero
.fechafactura = Me.cFacturaFecha
.montofactura = Me.cFacturaMonto
.cantidaddecuotas = Me.cFacturaNumCuotas
.nrodecuota = I
.vencimiento = fechaux
.Update
End With

mesx = mesx + 1

If mesx = 13 Then
mesx = 1
aniox = aniox + 1
End If

Next I

rst.Close
db.Close
Set rst = Nothing
Set db = Nothing

End Sub

Ahora bien, esto me genera un plan de pagos (cuotas) de la siguiente manera (me funciona a la perfección todo el proceso):
Ejemplo:
Formulario1
Cuadros Independientes

cFacturaNumero cFacturaFecha cFacturaMonto cFacturaNumCuotas
123 01/01/2007 $100 3

Esto me genera en el sub formulario “tblpdpago” lo siguiente:

Sub Formulario “tblpdpago”
Campos

Idfactura fechafactura montofactura cantidaddecuotas nrodecuota vencimiento
123 01/01/2007 $100 3 1 01/01/2007
123 01/01/2007 $100 3 2 01/02/2007
123 01/01/2007 $100 3 3 01/03/2007

Ahora lo que necesito es lo siguiente: si la primer cuota que vence el 01/01/2007, ese día es sábado o domingo, o feriado, me ponga el siguiente día hábil es decir en éste caso por calendario sería 02/01/2007, y así sucesivamente con el resto de las cuotas.

Me han dicho que se puede, pero yo no logro hacerlo, ya que soy muy limitado en el conocimiento de códigos y su aplicación. Alguien tiene noción de cómo aplicarlo para lograr el objetivo?
Un Saludo al Foro.
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Días Hábiles

Autor:Chea (1015 intervenciones)
Fecha:01/06/2007 08:10:31
Url:
Mira a ver si te vale la función de este enlace: http://jbengoechea.com/Sumahabiles.htm

Utiliza una tabla Festivos para considerar éstos además de sábados y domingos.

Saludos
José Bengoechea Ibaceta
Comentar