Private Sub Combo1_LostFocus()
Dim Dia As String
Dim Mes As String
Dim Ao As String
Dim FechaDisp As String
Dim Filas As Integer
Filas = SCGrid1.Rows
Borra el contenido del SCGrid
SCGrid1.DeleteRows 0, Filas
   Si no se ha escogido algn servicio regresar el enfoque al cuadro txtFecha
If Len(Combo1.Text) = 0 Then
   txtFecha.SetFocus
   Exit Sub
End If
'
Dia = Mid(txtFecha.Text, 4, 2)
Mes = Left(txtFecha.Text, 2)
Ao = Right(txtFecha.Text, 2)
FechaDisp = Dia & "/" & Mes & "/" & Ao
'Horarios
llena el control data horarios con los existentes para el servicio seleccionado
y los ordena de manera ascendente
dbCHorarios.RecordSource = "SELECT * FROM Horarios WHERE Servicio=" & Chr(34) & Combo1.Text & Chr(34) '& " ORDER BY Horario"
dbCHorarios.Refresh
'
'Clasifica Horarios
para cada horario realiza una consulta para obtener los adultos reales,
menores reales para el servicio, la fecha seleccionados y la hora del
control data dbcHorarios
dbCHorarios.Recordset.MoveFirst
   Do While Not dbCHorarios.Recordset.EOF
     Horac = dbCHorarios.Recordset.Fields("Horario").Value
     dbConsultas.RecordSource = "SELECT sum(Pax_adulto)- sum(Cancelpadulto) as PaxA, sum(Pax_cmenor)- Sum(Cancelpmenor) as PaxM FROM Reservaciones WHERE Fecha=#" & FechaDisp & "# AND Actividad=" & Chr(34) & Combo1.Text & Chr(34) & " AND Hora=" & Chr(34) & Horac & Chr(34)
     dbConsultas.Refresh
     EpaxA = dbConsultas.Recordset.Fields("PaxA").Value
     EpaxM = dbConsultas.Recordset.Fields("PaxM").Value
     dbCHorarios.Recordset.MoveNext
     With SCGrid1
 Aade un fila al SCGrid, y usa un contador iRow, para fijar el nmero de
fila actual
        .Rows = .Rows + 1
        iRow = .Rows  1
La celdas conformadas por la fila actual y las columnas 0,1 y 2 se llena
con la fecha, el servicio y el horario respectivamente 
        .Text(iRow, 0) = txtFecha.Text
        .Text(iRow, 1) = Combo1.Text
        .Text(iRow, 2) = Horac
        en el caso de valores nulos
     If IsNull(EpaxA) Then
        EpaxA = 0
     End If
     If IsNull(EpaxM) Then
        EpaxM = 0
     End If
El control data se refresca con nuevos valores, de manera que 
tenga la capacidad para cada servicio y hora de la Marina
     dbCServicios.RecordSource = "SELECT ICapacidad FROM Servicios WHERE IIdent='" & Combo1.Text & "' AND Hora ='" & Horac & "'"
     dbCServicios.Refresh
	se llena la celda conformada por la fila actual y la columna 3 con la suma
de los pasajeros adultos y menores
     .Text(iRow, 3) = Str(EpaxA + EpaxM)
Se llena la celda conformada por la fila actual y la columna 4 con la
diferencia de la disponibilidad del servicio para la hora actual del apuntador
dbcHorarios con el total de pasajeros, para que muestre los asientos libres.
     .Text(iRow, 4) = Str(dbCServicios.Recordset.Fields("ICapacidad").Value - (EpaxA + EpaxM))
     End With
        Loop
    End Sub
