Access - Cuantas veces seguidas se repite un evento

 
Vista:

Cuantas veces seguidas se repite un evento

Publicado por pepe (1 intervención) el 28/07/2011 11:59:37
Hola,

Me gustaria saber en access como puedo saber cuantas veces seguidas se repite un evento.

Es una tabla con fechas y si llovio o no...........

como puedo hacer una consulta que me diga cuantas veces llovio 5 dias consecutivos.

Gracias
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
Imágen de perfil de Henry

Cuantas veces seguidas se repite un evento

Publicado por Henry (37 intervenciones) el 29/07/2011 00:55:17
Buenas tardes pepe
Por consulta SQL lo veo mas complejo, ya que debes condicionar los dias, ordenar, etc. Lo veo mas facil por evento.
Tienes que crear un evento y leer la tabla para determinar los dias consecutivos de lluvia.
Ordenas la tabla por fecha en orden ascendente, asi tienes los dias consecutivos. (utilizas la sentencia Sort.)
Declaras tres(3) variables: cont para determinar los 5 dias de lluvia.
fecha_inicio para determinar el primer dia de lluvia consecutivo.
fecha_final para determinar el ultimo dia de lluvia consecutivo.

Debes sustituir los campos del evento por los campos que tu definistes:
1.- reg_fechas.Open "nombre de tu tabla", CurrentProject.AccessConnection, adOpenDynamic, adLockOptimistic
2.- reg_fechas.Sort = "nombre del campo fecha ASC"
3.- If reg_fechas.Fields("nombre del campo que indica si llovio o no") = - 1 Then
Aqui estoy considerando el tipo de datos como SI/NO, definido en la tabla.
Recuerda que Si es = - 1 y NO es = 0 . ¿No se como definistes este campo en la tabla?
4.- fecha_inicio = reg_fechas.Fields("nombre del campo fecha que definistes")
5.- fecha_final = reg_fechas.Fields("nombre del campo fecha que definistes")
6.- Msgbox " Llovio cinco dias consecutivos a partir del dia " & fecha_inicio & " hasta el dia " & fecha_final
El mensaje muestra la fecha desde y la fecha hasta de los cinco dias de lluvia. se puede almacenar en un archivo o tabla y luego al terminar el proceso se lee la tabla y se puede listar las fechas de lluvias continuas .
--------------------------------------------------------------------------------------------------------------------------------------
El evento Private Sub repite_evento() lo puedes ejecutar con un botón de comando-

Option Compare Database
Dim cont , fecha_inicio , fecha_final

Private Sub repite_evento()

Dim reg_fechas As ADODB.Recordset
Set reg_fechas = New ADODB.Recordset
reg_fechas.Open "lluvias", CurrentProject.AccessConnection, adOpenDynamic, adLockOptimistic
reg_fechas.Sort = "fecha ASC"

reg_fechas.MoveFirst
cont = 0

Do While Not reg_fechas.EOF()
If reg_fechas.Fields("llovio") = - 1 Then
If cont = 0 Then
fecha_inicio = reg_fechas.Fields("fecha")
Endif
cont = cont + 1
If cont = 5 Then
fecha_final = reg_fechas.Fields("fecha")
Msgbox " Llovio cinco dias consecutivos a partir del dia " & fecha_inicio & " hasta el dia " & fecha_final
cont = 0
fecha_inicio = Null
fecha_final = Null
Endif
Endif
reg_fechas.MoveNext
Loop

reg_fechas.Close
Set reg_fechas = Nothing

End Sub
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