Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/01/2007, 08:40
Avatar de Korku
Korku
 
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 7 meses
Puntos: 5
Re: [SOLUCIONADO] Calcular el Día de la semana siguiente

Buenas,

Veamos la solución es la siguiente:
En este caso funciona con VB.NET (en VB6 ni idea, no lo he probado), este código sirve cuando se realiza un pedido, hay una fecha de entrega por defecto para que cada cliente tiene un día de la semana concreto de entrega, por ejemplo el cliente A recibe los pedidos el lunes de la semana L, el cliente B los martes M, etc... ¿Pillais la idea, no? Bien el código es el siguiente:
Código:
    Public Function DiaSemana(ByVal strDia As String) As Integer
        Select Case Weekday(Now)
            Case 0
                'domingo
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 1
                    Case "M"
                        'Martes
                        DiaSemana = 2
                    Case "X"
                        'Miércoles
                        DiaSemana = 3
                    Case "J"
                        'Jueves
                        DiaSemana = 4
                    Case "V"
                        'Viernes
                        DiaSemana = 5
                    Case "S"
                        'Sábado
                        DiaSemana = 6
                    Case "D"
                        'Domingo
                        DiaSemana = 7
                End Select
            Case 1
                'lunes
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 7
                    Case "M"
                        'Martes
                        DiaSemana = 1
                    Case "X"
                        'Miércoles
                        DiaSemana = 2
                    Case "J"
                        'Jueves
                        DiaSemana = 3
                    Case "V"
                        'Viernes
                        DiaSemana = 4
                    Case "S"
                        'Sábado
                        DiaSemana = 5
                    Case "D"
                        'Domingo
                        DiaSemana = 6
                End Select
            Case 2
                'martes
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 6
                    Case "M"
                        'Martes
                        DiaSemana = 7
                    Case "X"
                        'Miércoles
                        DiaSemana = 1
                    Case "J"
                        'Jueves
                        DiaSemana = 2
                    Case "V"
                        'Viernes
                        DiaSemana = 3
                    Case "S"
                        'Sábado
                        DiaSemana = 4
                    Case "D"
                        'Domingo
                        DiaSemana = 5
                End Select
            Case 3
                'miércoles
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 5
                    Case "M"
                        'Martes
                        DiaSemana = 6
                    Case "X"
                        'Miércoles
                        DiaSemana = 7
                    Case "J"
                        'Jueves
                        DiaSemana = 1
                    Case "V"
                        'Viernes
                        DiaSemana = 2
                    Case "S"
                        'Sábado
                        DiaSemana = 3
                    Case "D"
                        'Domingo
                        DiaSemana = 4
                End Select
            Case 4
                'jueves
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 4
                    Case "M"
                        'Martes
                        DiaSemana = 5
                    Case "X"
                        'Miércoles
                        DiaSemana = 6
                    Case "J"
                        'Jueves
                        DiaSemana = 7
                    Case "V"
                        'Viernes
                        DiaSemana = 1
                    Case "S"
                        'Sábado
                        DiaSemana = 2
                    Case "D"
                        'Domingo
                        DiaSemana = 3
                End Select
            Case 5
                'viernes
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 3
                    Case "M"
                        'Martes
                        DiaSemana = 4
                    Case "X"
                        'Miércoles
                        DiaSemana = 5
                    Case "J"
                        'Jueves
                        DiaSemana = 6
                    Case "V"
                        'Viernes
                        DiaSemana = 7
                    Case "S"
                        'Sábado
                        DiaSemana = 1
                    Case "D"
                        'Domingo
                        DiaSemana = 2
                End Select
            Case 6
                'sábado
                Select Case UCase(strDia)
                    Case "L"
                        'Lunes
                        DiaSemana = 2
                    Case "M"
                        'Martes
                        DiaSemana = 3
                    Case "X"
                        'Miércoles
                        DiaSemana = 4
                    Case "J"
                        'Jueves
                        DiaSemana = 5
                    Case "V"
                        'Viernes
                        DiaSemana = 6
                    Case "S"
                        'Sábado
                        DiaSemana = 7
                    Case "D"
                        'Domingo
                        DiaSemana = 1
                End Select
        End Select
    End Function
Luego en un formulario
Código:
Me.dtpPicker.Value = DateAdd("d", DiaSemana(strDiaEntrega), Now())
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es