Problema en bucle

Tengo una tabla con esta estructura
ID fechainicio1 fechafin1 fechainicio2 fechafin2
3 01/07/2012 15/07/2012
3 25/07/2012 31/07/2012
9 01/08/2012 10/08/2012
9 20/08/2012 31/08/2012
9 01/07/2012 15/07/2012
‘Con estos datos construyo en un informe un cronograma mensual y para ello necesito que cuando es la misma ‘persona y tiene 2 turnos en el mismo mes los dos turnos figuren en la misma fila (row) y primero tengo que conseguir esto


Private Sub Comando7_Click()
Dim r As DAO.Recordset
Set r = CurrentDb.OpenRecordset("SELECT * FROM pruebavacaciones2 ORDER BY id")
Dim TypeID, mes1, mes2, cuenta
'me asegurode que la tabla tiene registros y que estoy en el principio de la tabla
cuenta = r.RecordCount ‘****lo he puesto para comprobar que el recorset esta abierto y veo que hay 7 records
r.MoveFirst
registro = [CurrentRecord]
'cargo el valor en las variables
TypeID = ID '(campo tipo número)
mes1 = Month(horainicio1.Value) '*horainicio1 es campo fecha/hora formato fecha corta)
mes2 = Month(horafin1.Value) '*horafin1 es campo fecha/hora formato fecha corta)
Do Until r.EOF = True
r.MoveNext
'aquí supongo que debiera estar en el record 2 y pretendo comprobar que el ID de este
'record =a la variable myid que contendría el valor del registro 1 en otras palabras que es la misma persona
'que el Month(horainicio1)del 2º record = a la variable mes1 que contendría el valor del registro 1
'y que el Month(horafin1)del 2º record = mes2 que contendría el valor del registro 1
If ID = TypeID And Month(horainicio1) = mes1 And Month(horafin1) = mes2 Then
'si se han cumplido estas premisas entonces se debería actualizar el field horainicio2 con el mismo valor que 'tiene horainicio1 y el field horafin2 se actualizaría con el mismo valor que tiene el field horafin1
horainicio2 = horainicio1
horafin2 = horafin1
'estoy en el record 2
'cargo de nuevo los valores, en este caso el record 2 en las variables
TypeID = ID
mes1 = Month(horainicio1.Value)
mes2 = Month(horafin1.Value)
End If
Loop
r.Close
Set r = Nothing
End Sub
La información debería tener este aspecto
ID fechainicio1 fechafin1 fechainicio2 fechafin2
3 01/07/2012 15/07/2012
3 25/07/2012 31/07/2012 25/07/2012 31/07/2012
9 01/08/2012 10/08/2012
9 20/08/2012 31/08/2012 20/08/2012 31/08/2012
9 01/07/2012 15/07/2012

muchas gracias

Añade tu respuesta

Haz clic para o