Access - Parámetros de fechas para informe

 
Vista:

Parámetros de fechas para informe

Publicado por Daniela Briñez (5 intervenciones) el 29/07/2016 22:41:51
Buenas tardes amigos.

Tengo un informe que genero entre dos rangos de fechas, por ejemplo desde (01/06/2016 hasta 30/06/2016, idea es que el procedimiento sea confiable es decir que se pueda antes de generar el informe entre el rango de fechas seleccionado, se pueda validar:

1. Que no queden vacías las dos cajas de texto
2. Que una caja de texto esté vacía
3. Que ninguna de las dos fechas sea superior al día de hoy
4. Que la fecha final no sea inferior a la fecha inicial etc....

Para ello he construido el siguiente código, al dar clic, pero no me deja pasar, se queda en "NINGUNA FECHA PUEDE SER SUPERIOR A LA ACTUAL"

Por favor solicito de su sapiencia, ya que me quedé estancada.

Estas son las líneas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub VER_INFORME_Click()
  DoCmd.SetWarnings False
    If IsNull(cboFechaDesde) And IsNull(cboFechaHasta) Then
        MsgBox "ESTABLEZCA AMBAS FECHAS, PARA PRESENTAR EL INFORME.", 0, "ATENCION"
        cboFechaDesde.BackColor = vbYellow
        cboFechaHasta.BackColor = vbYellow
        cboFechaDesde.SetFocus
        Exit Sub
    Else
        If IsNull(cboFechaDesde) Or IsNull(cboFechaHasta) Then
        MsgBox "FALTA UNA FECHA POR ESTABLECER.", 0, "ATENCION"
        Exit Sub
    End If
    End If
    If cboFechaDesde > cboFechaHasta Then
        MsgBox "¡¡ ATENCIÓN !! EROR EN FECHAS - LA FECHA 'Desde' NO PUEDE SER SUPERIOR A LA FECHA 'Hasta'.", 0, "ATENCIÓN"
Exit sub
End if
    If cboFechaDesde > Now() Or cboFechaHasta > Now() Then
        MsgBox "NINGUNA FECHA PUEDE SER SUPERIOR A LA ACTUAL.", 0, "ATENCIÓN"
        Exit Sub
    End If
If cboFechaHasta < cboFechaDesde Then
        MsgBox "¡¡ ATENCIÓN !! EROR EN FECHAS - LA FECHA 'Hasta' NO PUEDE SER INFERIOR A LA FECHA 'Desde'.", 0, "ATENCIÓN"
     Exit Sub
    End If
On Error GoTo Err_VER_INFORME_Click
Dim stDocName As String
    stDocName = "CUENTRAS"
    DoCmd.RunMacro stDocName
    DoCmd.Close acForm, "frmMain"
Exit_VER_INFORME_Click:
    Exit Sub
 
Err_VER_INFORME_Click:
    MsgBox Err.Description
    Resume Exit_VER_INFORME_Click
    DoCmd.SetWarnings True
End Sub


Muy amables por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Parámetros de fechas para informe

Publicado por Enrique Heliodoro (1664 intervenciones) el 29/07/2016 23:18:15
Algo no esta claro, los nombres de los objetos llevan a la confusión.

Si es 'un cuadro de texto' (1. Que no queden vacías las dos cajas de texto) ¿Por qué se las denomina asi: cboFechaDesde

Personalmente el punto 2 (2. Que una caja de texto esté vacía) lo validaría de forma independiente, en el evento 'después de actualizar y en lugar de jugar con valores null, aplicaría la función IsDate y si es una fecha o no es una fecha valida se resuelve sin duda

El punto 3 (3. Que ninguna de las dos fechas sea superior al día de hoy) permitiría la igualdad, pero no utilizaría 'Now', ya que este (por eso de que tiene parte horaria) es 'un poco de hoy y algo de mañana'

Al respecto del punto 4 (4. Que la fecha final no sea inferior a la fecha inicial etc....), con la excepción del 'etc' no veo que problema puede haber, eso si, para validar datos de tipo fecha se deberían convertir los datos a 'fechas Access' y ello evitaría las interpretaciones incorrectas (de entrada, un cuadro de texto independiente no tiene una fecha tiene texto que 'libremente interpretamos como una fecha' (pero Access carece de libertad y para el una fecha es una fecha y un texto es un texto).

Un inciso: hoy (o un dia cualquiera) como inicio y final, debería presentar como resultado lo de ese dia y ello implicaría que la fecha de inicio y final puede ser la misma .... caso que actualmente no esta contemplado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Parámetros de fechas para informe

Publicado por Daniela Briñez (5 intervenciones) el 29/07/2016 23:38:19
Gracias por su respuesta.

Con respecto a los nombres de las cajas de texto, si fue un olvido no quitar el "cbo", sin embargo son cajitas de texto y con respecto a que las dos fechas sean iguales, tiene razón ese punto no lo había tenido en cuenta.

Voy a revisar el tema a ver como quedaría el código corregido.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar